142 Commits

Author SHA1 Message Date
Aaron Suen
79419dd10a Simplify composting logic.
- Leaves no longer decay into air.
- Leaves compost over longer time, following tree growth logic
  (i.e. based on moisture and soil) when not exposed to air.
2019-10-01 18:23:12 -04:00
Aaron Suen
9bfe902634 Try nerfing composting rates by 5x. 2019-09-15 07:38:38 -04:00
Aaron Suen
8270724c07 Stumps now drop sticks instead of dirt.
There is now a "dirt cycle" in NodeCore ecology.  Trees consume
dirt, and stumps now no longer return it.  Players need to compost
leaves by burying them away from light near dirt, which will then
allow them to create new dirt.

This is one step closer to viable skyblock gameplay.
2019-09-14 15:34:27 -04:00
Aaron Suen
57b032d062 Initial work on leaf composting.
- Leaves left in the sun decay to nothing.
- Leaves deprived of air decay into dirt.

TODO:
- Decay out of stack nodes, half-life qty?
- Dig particle effects for node destruction; create API and
  apply to other places?
2019-09-14 10:33:02 -04:00
Aaron Suen
52de19a28c Unified falling check, check after craft. 2019-09-09 07:05:01 -04:00
Aaron Suen
92be21a5dc Allow tree trunks to grow through other trees' leaves. 2019-09-08 12:56:51 -04:00
Aaron Suen
07d381624e Tree growth noises.
If trees are gonna suddenly blast out of the ground, then they
should make a sound worthy of that.
2019-09-05 23:01:06 -04:00
Aaron Suen
cbf035e0d5 Finished Soaking API, converted trees and infusion to it. 2019-09-05 22:48:30 -04:00
Aaron Suen
3dd2092945 Exempt a few materials from ever being silktouch-dug this way.
Stone should be made via concrete.  Tree stumps should only be
made by growing trees.
2019-09-04 19:09:42 -04:00
Aaron Suen
3a4bfdb258 One last refactor to ambient sounds.
Make tree sounds managed by the mod that defines the nodes in
question using register_ambient, consistent with other things like
fluids.

nc_envsounds is now responsible for just the air moving and
cave dripping sounds made by air itself.

Common windiness logic moved into api layer.
2019-09-02 11:34:14 -04:00
Aaron Suen
c9035f55d8 Add open-air wind sounds, consolidate wind ambiance. 2019-09-01 23:18:53 -04:00
Aaron Suen
46c8a6d555 Add wind ambiance to trees, varying with altitude. 2019-09-01 10:07:48 -04:00
Aaron Suen
ce80cf7a19 Make sure we don't accept t = 0 as a valid start time. 2019-08-31 10:32:07 -04:00
Aaron Suen
859b70fab5 Track tree-growth while player is distant.
As long as the game clock is running, even if the area is not
loaded and processing ABMs, tree growth will "catch up" when the
area gets loaded.

I was hoping to build a time-integrated "soaking API" to deal with
this and short-circuit the box-mueller calculation to do model the
soak as time-continuous in O(1) time, but this is good enough to
get the expected behavior for now.

If I add more long-term time-integrated stochastic processes (i.e.
not just cooking recipes) then I can do the refac at that time.
2019-08-31 10:27:29 -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
458043fa18 Make ezschematic from tree growth into a full-fledged API.
I may use this for other companion content.
2019-08-27 21:41:03 -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
fe00eb65c0 Wet sponges contribute to tree growth too. 2019-08-23 20:51:19 -04:00
Aaron Suen
37dbcb3474 Make planted eggcorns look like regular dirt.
You now need to use the particle visual cue to
differentiate them.
2019-08-23 20:38:31 -04:00
Aaron Suen
fd52006a7a Image optimizations. 2019-08-19 22:31:00 -04:00
Aaron Suen
5a115bdaa8 Particle effects for growing trees.
Intensity of particle effect indicates rate of growth.
This should help players get feedback that their trees are,
indeed, actually incubating.
2019-04-06 21:02:58 -04:00
Aaron Suen
2d4445c976 Tweak flammability, esp of charcoal/ash mixtures. 2019-03-31 21:38:26 -04:00
Aaron Suen
aa7473377f Fix missing waving leaves shader support. 2019-03-31 00:05:27 -04:00
Aaron Suen
59a16d44f2 Eggcorns deserve their own sounds... 2019-03-25 00:15:05 -04:00
Aaron Suen
a3d1487890 Shrink eggcorns down 25% (again). 2019-03-23 20:05:56 -04:00
Aaron Suen
367013941c Resimplify eggcorn planting.
- Allow applying dirt to eggcorns w/o sneak again.
- Allow dirting any face; basically just do the custom check
  directly.
- Back out the "shove eggcorns into placed dirt" recipe.
2019-03-23 16:56:02 -04:00
Aaron Suen
a8dbfb221f EggCorn Overhaul!
- Place EggCorns as items, not as nodes.
- Tweak visual scales, thicken them up a bit.
- Allow planting eggcorns into dirt, as well as throwing dirt
  over eggcorns, to make planting easier.
2019-03-23 13:01:31 -04:00
Aaron Suen
4f600d046f Make leave sounds swishy. 2019-03-16 11:23:37 -04:00
Aaron Suen
a20c5401d2 No, "log" doesn't work for a GROWING tree trunk. 2019-03-14 21:59:56 -04:00
Aaron Suen
7eb26b5511 Simplify some names. 2019-03-14 21:58:30 -04:00
Aaron Suen
9607bcc6a6 Start working on sounds, plus minor refinements.
- Clean up registered_* usage patterns.
- Reduce tendancy of leaves to create stack nodes.
  Now they tend to stack up properly in-world more often.
- Tweak damage system to create "headroom" where minor
  damage doesn't cost inv slots immediately.
- Make player hand skin color match model skin.
- Cleanup/unify grass abm logic.
- Start installing new sounds by MagikEh

Sound source:
  https://github.com/MagikEh/SoundsOfWarr
2019-03-13 23:51:59 -04:00
Aaron Suen
fd94d67389 Fix awkwardness with leaf digging prediction. 2019-03-10 00:23:54 -05:00
Aaron Suen
0f0377da52 Make lens/prism light pass thru sunlight_propagates nodes.
This also prevents the lens from igniting them.

Made stick and staff at least as transarent as frames/ladders.
2019-03-09 19:46:52 -05:00
Aaron Suen
332f42bdc7 Rename a thing. 2019-03-07 21:06:53 -05:00
Aaron Suen
611733d7d8 Naming refinements. 2019-03-06 21:52:53 -05:00
Aaron Suen
2231d1dffe Add wield description HUD.
Swap it out with the breath bar, since the breath bar won't be
displaying most of the time, so we can afford to not read what an
item is until we come up for air to look at it.

Also, "eggcorn" is a single word.
2019-03-04 00:52:21 -05:00
Aaron Suen
98b235511c Standardize use of include function. 2019-03-02 20:39:08 -05:00
Aaron Suen
5aed5449ad Tweak tree-gen, making them a little easier to find.
Had multiple complaints from players that trees are hard to find.
The possiblity of needing some exploration is reasonable, and we
don't want the world to be too uniform for aesthetic reasons, but
there shouldn't be much harm in making trees less frustrating
to find.
2019-02-24 23:49:24 -05:00
Aaron Suen
9fe3f296b9 Tree stumps can finally be ground up by lode axes. 2019-02-24 16:36:53 -05:00
Aaron Suen
726f385e52 Add player natural healing.
- Players heal over time at variable speed, depending on subtle
  environmental factors.
- This frees us up to work on the death mechanic, since it's no
  longer the only way to restore health and prevent an untimely
  death.
2019-02-23 13:14:09 -05:00
Aaron Suen
63d587cf8b Missed files in prev commit. 2019-02-21 14:59:41 -05:00
Aaron Suen
c5ebe7f35a Fix stick firestarting.
Wasn't working when wielding more than one stick/staff, due to
implied count check added to fix log-stack-splitting issue.
2019-02-21 14:27:06 -05:00
Aaron Suen
a2f00b3c30 Fix fire-starting wield bug. 2019-02-21 09:35:31 -05:00
Aaron Suen
4b972b4d3b More recipe conversion, bugfixing. 2019-02-10 00:20:55 -05:00
Aaron Suen
35d814fb43 Fix suspected infinite loop in nodefall. 2019-02-09 23:35:16 -05:00
Aaron Suen
b02af51b20 Efficiency for heavily-used abm. 2019-02-09 23:00:38 -05:00
Aaron Suen
05d4d52eb4 Survey of how we're using pummels right now. 2019-02-08 21:12:10 -05:00
Aaron Suen
1ba1d13fcc Craft eggcorn dirt instead of abming it. 2019-02-04 20:21:33 -05:00
Aaron Suen
33cbce23e5 Merge branch 'master' into refac1 2019-02-04 20:16:54 -05:00
Aaron Suen
a8009f4c0c Make eggcorns "attached" instead of "falling".
Functionally, When they land, they'll land as an item stack instead
of placing as a node.  Visually, they won't look huge as they fall
anymore.
2019-02-03 13:22:43 -05:00