1670 Commits

Author SHA1 Message Date
Aaron Suen
a998009656 Merge branch 'master' of gitlab.com:yamanq/nodecore into dev 2020-06-09 18:57:34 -04:00
Aaron Suen
d1a5aa55a0 More useful lode cube group 2020-06-09 18:11:15 -04:00
Aaron Suen
e9b9bd43d9 Protection support for storeboxes, pummel 2020-06-09 18:10:44 -04:00
LoneWolfHT
079c1ebe79 Add waving anim 2020-06-09 12:33:40 -07:00
Aaron Suen
b1c6f6feb9 Make lodesign a little more visible 2020-06-09 07:20:00 -04:00
Aaron Suen
c9b432d5e5 Lodesign redesign
Should be subtler at a distance, but more distinct up close.
2020-06-09 07:09:58 -04:00
Aaron Suen
7e065c8134 Nerf lux tool durability
These things are way too durable as they are, and it's
actually kind of game-breaking.  Players with lux
tools are in an entirely different class from players
without.

Instead, players should be forced to invest more in
lux reactors, or rely more on tempered lode as an
"everyday" tool and use lux for special projects.

Boosted lux is exempt from this nerf, and is now 4
times as durable as ordinary lux.  It might not be a
bad idea to allow them not to experience any wear
at all when boosted...
2020-06-07 22:26:28 -04:00
Aaron Suen
c3d0aed881 Tool breakage particles
Makes mining with stone tools less crappy with
sound turned off.
2020-06-07 18:14:32 -04:00
Aaron Suen
32e30328eb Delay breath HUD onset
The hack to start new players with full breath does
not apparently work with existing players, so players
are joining to find their breath half gone at the start
of play.

Instead, let's just hide the breath HUD entirely for the
initial half of underwater movement, and only show it
when the player is running low.  This effectively hides
the fact that players are losing the top half of breath
when joining, in the common case.

Players joining and being immediately submerged in
water is an uncommon enough case that this will
probably not affect gameplay significantly.
2020-06-07 14:17:20 -04:00
Aaron Suen
5fa2483d87 Refactor, fix new players starting a half breath 2020-06-07 12:26:27 -04:00
Aaron Suen
4048f15e82 Add a wishlist entry for player buoyancy. 2020-06-07 12:22:40 -04:00
Aaron Suen
5ddfd621f2 Revert player buoyancy
This feature is too annoying in practice and makes
the player harder to control when in water under most
circumstances, and isn't worth it for the cases it does
handle.

Buffing player breath should help alleviate drowning
problems due to network issues or chat.  Players may
just have to manually resurface more frequently.

This feature could be reconsidered for inclusion if a
better way to do it could be found, and if it could limit
gameplay impact.  Ideally the player should simply
remain at a fixed location when not moving (i.e. the
player character should counteract any drift
automatically) but that would require engine/client
changes.
2020-06-07 12:18:51 -04:00
Aaron Suen
0a5565a3ea Buff player breath 2020-06-07 12:15:56 -04:00
Aaron Suen
7a542abefe Fix float glass sunlight propagation 2020-06-06 21:39:26 -04:00
Aaron Suen
86d4a1a1fa More glassy pumice texture
Multiplied by inverted chromatic glass to create
larger-scale glassy structures.
2020-06-06 09:17:42 -04:00
Aaron Suen
ba2eed812d More uniform pumice texture 2020-06-06 09:16:56 -04:00
Aaron Suen
646f218abc Tweak particles 2020-06-06 08:28:19 -04:00
Aaron Suen
3493e8222b Add new pumice material
- Flowing lava quenches to pumice
- Pumice can spontaneously melt back to flowing
  lava, when touching lava, and sometimes even
  when still quenched.
- Pumice cannot be harvested or moved, it's
  utterly destroyed by digging.
2020-06-06 08:23:29 -04:00
Aaron Suen
f70c34cf8e Refactor amalgam into its own mod
This declutters nc_terrain and paves the way for
more igneous content
2020-06-06 08:00:59 -04:00
Aaron Suen
2cb09e21dd Buff lux tool radioactivity
Lux tools also glow a bit
2020-06-06 07:36:11 -04:00
Aaron Suen
40ea2c393c Notes update 2020-06-04 08:13:53 -04:00
Aaron Suen
23527e264b Artificial stone hardening process
Stone is hardened by creating an elecric field via the Peltier
effect that causes internal crystals to align.  Or something like
that.

Stone hardens over time when touching both lava and water.
All stratafiable stone types (lode sign, lode ore, lux ore) are
affected.
2020-06-04 08:09:30 -04:00
Aaron Suen
1b646d3f63 Try to enforce stone group sanity 2020-06-04 07:33:49 -04:00
Aaron Suen
5343b100c2 Pitch variation never lowers base pitch
Totes were sounding really weird with very deep
pitch before this, since their base level was 3, but
totes were hand-diggable.
2020-06-04 07:27:22 -04:00
Aaron Suen
e7430e47c0 Fix sound pitch order-of-operations bug 2020-06-03 11:35:21 -04:00
Aaron Suen
282aa6d09c Disable stair auto-climb while sneaking 2020-06-02 18:04:51 -04:00
Aaron Suen
ef8b19cfaf Hard-reverse "no running up ladders" decision
- Climbing long ladders is often necessary (deep mining for key
  materials like molten rock) and boring.
- Running-up-ladder prevention hasn't really been working right
  anyway; it's trivial to bypass it by "wiggling" as you climb.
- Ladder running prevention was done as a "realism" thing, which
  we are always prepared to sacrifice if it interferes with fun.

Instead of simply allowing the previous "exploit" allowing players
to run up ladders as long as they're "running" into them, actually
allow fast ladder-climbing (and up-swimming) as a first-class
feature.
2020-06-02 06:34:27 -04:00
Aaron Suen
c309645f07 Experiment with stepheight >= 1 again
We tried this first back in 5.0, and found that there were issues:
- Some collision detection stuff broke.
- It felt choppy.
- Didn't work consistently on Android.
- There was already auto-jump anyway.

Since then, with the addition of auto-run, auto-jump has not felt
sufficient, especially for climbing terrain or staircases.  There
have also been a number of updates since the last time stepheight
was tried, including to collision detection and movement.

It's time to see how this feels in actual gameplay again.

Set stepheight to just a little above 1, so player can step up
a full node, plus a little margin of error for rounding etc.
2020-06-02 06:23:02 -04:00
Aaron Suen
3aed0d75c4 Buff fire radiant damage 2020-06-01 22:21:36 -04:00
Aaron Suen
95bebf9bbb Fix lower bound for radiant heat overlay 2020-06-01 22:16:36 -04:00
Aaron Suen
429c914e99 Try to simplify abm code a bit 2020-06-01 22:07:20 -04:00
Aaron Suen
0067c5d18d Remove delay/jitter from limited abm
Before, ABM firing was delayed by up to a full
interval, but the fulfillment timer could wander
around relative to the trigger, which could lead
to unreliable door ablation.

Instead, just always run the ABM fulfilment
triggers on the next tick, so limted_abm is
ONLY doing the limiting for events that arrive
within the same tick, as most ABMs do.
2020-06-01 21:44:22 -04:00
Aaron Suen
6e751a5996 Make sound on sponge squeeze expire 2020-06-01 21:19:45 -04:00
Aaron Suen
533bdd0de8 Fix sponge squeeze expiration
Apparently we can't trust node meta to return
the same data to us that we just pushed in for
a few seconds, so check an in-memory cache
first and only use the meta for newly loaded
areas.
2020-06-01 21:00:22 -04:00
Aaron Suen
20bf9bf3be HUD overlay for radiant/latent heat 2020-06-01 20:13:15 -04:00
Aaron Suen
5f165b4da3 Fix crash on completing stone brick chisel
Bug was introduced in 16a7c9fe, caused by
the fact that sometimes nodes are dug by nil,
i.e. the way the chisel is dug up automatically
in the chiseling process.
2020-06-01 18:08:59 -04:00
Aaron Suen
3817811014 Fix scaling node placement prediction 2020-05-31 20:47:11 -04:00
Aaron Suen
85b50092eb Work around stack placement double sounds
Regression introduced when placement
prediction was added for non-node items.
2020-05-31 20:24:41 -04:00
Aaron Suen
8d2a8c0890 Predict item stack placement client-side
This still suffers from some issues with sounds
doubling, but for now we'll have to see how it
behaves under high latency.
2020-05-31 17:45:32 -04:00
Aaron Suen
3986ee1502 Tweak eggcorn placement clent prediction
Place as an empty stack node (soon to be
replaced by the server as a non-empty one
anyway) so laggy clients can right-click with
dirt earlier.

This should mitigate Kimapr's high-latency
mass tree farming woes...?
2020-05-31 17:11:40 -04:00
Aaron Suen
f78c3d90a8 Make dynamic light air_equivalent too 2020-05-31 15:59:53 -04:00
Aaron Suen
4a784aeb8f Trigger visinv checks more smoothly
- Check item on same tick as creation.
- Stagger rechecks across ticks.
2020-05-31 10:36:11 -04:00
Aaron Suen
99cf650fd9 Update wishlist issues 2020-05-31 10:23:53 -04:00
Aaron Suen
62ea6de01d Fix drop_in_place/silktouch item duplication
When digging a node that defines both a drop_in_place
and a drop (e.g. tarstone) silktouch wasn't canceling the
drop as well as the drop_in_place.

When we're using silktouch, assume that both drop and
drop_in_place are meant to be canceled, and move
the drop into a new drop_non_silktouch member, so
the builtin/engine doesn't process the drop.
2020-05-31 09:26:31 -04:00
Aaron Suen
389ab23495 Never silk-touch prisms/lenses
They should always revert to unpowered when dug
2020-05-31 09:25:03 -04:00
Aaron Suen
8156c77b4e Clear a resolved issue from notes. 2020-05-31 09:04:44 -04:00
Aaron Suen
3edf1b214c Add a way to access another tool tier
Lux resonance can boost tools by one more level!

This opens up some new opportunities for silk touch,
such as being able to relocate living grass.
2020-05-31 09:03:41 -04:00
Aaron Suen
14f4c505e5 Fix lode-sign stone being silktouchable
This should be consistent with plain terrain stone now.
2020-05-31 08:51:38 -04:00
Aaron Suen
16a7c9fe26 Completing a dig resets pummel
This should fix false pummel detection on long
hard-stone dig/drop-in-place sequences
2020-05-31 08:51:02 -04:00
Aaron Suen
b21b7c2da2 Fix pathological visinv scalabilty
Defer and coalesce visinv entity creation/removal
checks until the next tick, so we can process them more
efficiently in a batch.

The spawn area of the Community MP server was
lagging to something like 6x the dedicated step size,
due to the huge number of dropped items.  This code,
on the same machine, seems to appear the same to the
player, but produces almost no measurable lag.
2020-05-30 22:33:13 -04:00