62 Commits

Author SHA1 Message Date
Aaron Suen
6c650e85c7 New drowning HUD that's easier to see in already-dark environs. 2019-09-08 13:24:12 -04:00
Aaron Suen
19e20e4406 Add wrought annealed lode storage crates.
These are similar to wooden shelves, except:
- They are not flammable and protect all contents from fire.
- They can be accessed from the top as well, so can be used for
  e.g. floor storage.
2019-09-07 14:34:16 -04:00
Aaron Suen
612f67983e Lode block needs to be hot to chop up now. 2019-09-07 14:34:09 -04:00
Aaron Suen
1ebdaa6162 Fix falling glowing lode nodes. 2019-09-07 12:02:17 -04:00
Aaron Suen
d43b8cbcda All lode cooking recipes work on nodes in placed form too. 2019-09-07 12:00:33 -04:00
Aaron Suen
9a75f4c87a More flexible burning API.
Stone, lode, and lux tools now all have their handles burn, and
eject the non-flammable portions of the tool.

Now using a unified on_ignite hook for when flammable things catch
fire.  The call is made BEFORE the node is replaced, and has an
opportunity to look at node metadata and eject anything
non-flammable.

It can be a function, e.g. for shelves, or a static value in the
same format that the function would return (e.g. for lode tools
which need string values for temper substitutions).

If it returns a string or itemstack, it will eject that from the
position where the node burned.  If it returns a table it will
eject all the values of that table.
2019-09-07 11:28:51 -04: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
86cc55c12b Basic door node setup and recipes.
- Craft door panels by chiseling with a rod.
- Rotate door panels.
- Hammer in rod to act as hinge pin.
- Dig out hinge pin, dig up panel.
2019-08-13 21:06:13 -04:00
Aaron Suen
d13147fd57 Add bars and rods to lodecrafting. 2019-08-09 22:28:19 -04:00
Aaron Suen
285a21b796 New hand appearance.
- Matches player model.
- Stays down by player's side (off-screen) when not in use.
  The game looks even more minimalistic when first started.
2019-04-13 23:39:46 -04:00
Aaron Suen
431594b1b6 More nuanced ore distribution.
- There is now a thin "background" amount of lode at all depths,
  so you should never dig too large a stata without finding
  anything at all.
- Ore is now not only more plentiful at depth, but also packed
  into denser clusters, so you have to mine for longer before
  finding a huge deposit.
2019-04-04 08:48:55 -04:00
Aaron Suen
3614068263 Bug fixes, tidier craft excess handling. 2019-04-03 08:10:03 -04:00
Aaron Suen
4b1488ed3f Hints system overhaul.
- Included new content.
- Partially converted to base on recipes instead of just items.
- Added support for group and toolcap checks.

Fixed a number of small bugs elsewhere in the process.
2019-04-03 07:41:27 -04:00
Aaron Suen
be6b5ec8a0 Remove "Cube" from node descriptions.
Consistent with everything else in the world, we assume that "cube"
is the default state for things to be in (this is NodeCore after
all) and only use shape descriptors for things like lumps, prills
and other non-cube versions of things that also exist as cubes.
2019-04-02 08:10:17 -04:00
Aaron Suen
05efab5c58 Lode ore distribution overhaul.
- Don't generate in high terrain above y = 32 at all.
- Increase concentraion through 7 different strata moving downwards
  up until max concentration at y = -4096.  This creates incentives
  for digging deep instead of just staying at surface.
2019-03-31 12:59:09 -04:00
Aaron Suen
a8766c8b42 Fix deep lode ore description. 2019-03-29 21:46:54 -04:00
Aaron Suen
584fd2f9fa Make deep stone dig through each stage, taking longer to dig. 2019-03-24 23:15:34 -04:00
Aaron Suen
497e637d80 Code simplification. 2019-03-23 17:44:18 -04:00
Aaron Suen
29dbe0f411 Holy moly, it's the first new tool in like forever! 2019-03-23 17:41:31 -04:00
Aaron Suen
cff62c1281 Reset cooking/cooling recipe if stack quantities change. 2019-03-22 23:15:47 -04:00
Aaron Suen
8a8533a8fc Convert lode to new cooking recipe system. 2019-03-22 22:55:30 -04:00
Aaron Suen
209e0491a4 Fix loose lode cobble sounds 2019-03-16 17:02:10 -04:00
Aaron Suen
de4dff158f Sounds for lode things and sponges. 2019-03-14 19:31:56 -04:00
Aaron Suen
5de0cc54ec Add stony sounds, and sounds for stacks/shelves. 2019-03-14 00:31:09 -04:00
Aaron Suen
b717fcb04c Fix excess prills from tool breakage. 2019-03-10 19:25:28 -04:00
Aaron Suen
e51b301888 Fix some :get_meta()/.get_meta() bugs. 2019-03-10 01:31:06 -05:00
Aaron Suen
50869403e0 Unified soaking/cooking API, smoke particles for cooling too. 2019-03-10 01:00:57 -05:00
Aaron Suen
1f932edab4 Add smoke particles to cooking recipes as they stand now.
Like pummeling, this should give feedback when players are doing
something right.
2019-03-10 00:24:16 -05:00
Aaron Suen
96b5863fc0 Tools melt down to prills; reworking is necessary. 2019-03-08 23:22:14 -05:00
Aaron Suen
0dfc08cdfc Fix cube/block/node renaming error. 2019-03-08 14:42:04 -05:00
Aaron Suen
e64e21b490 Call in-world nodes "cubes" instead of "blocks".
The confusing terminology is so annoying, so let's pick a word
that doesn't have a technical meaning, maybe?
2019-03-07 23:16:29 -05:00
Aaron Suen
0603683626 Typo. 2019-03-06 21:54:52 -05:00
Aaron Suen
611733d7d8 Naming refinements. 2019-03-06 21:52:53 -05:00
Aaron Suen
98b235511c Standardize use of include function. 2019-03-02 20:39:08 -05:00
Aaron Suen
46403c1fea Randomized lode prill yield.
Using an exponentially-distributed random variable for lode prill
yield.  This results in approximately the same average yield as
before, but with many pieces of ore yielding disappointingly only
1 prill, but a few yielding more, theoretically almost infinitely
more.  Every smelting operation now has a bit of a gambling thrill
aspect to it.
2019-03-02 17:49:09 -05:00
Aaron Suen
d1e52fb303 Tote bug fixing.
The major bug was the lode heating/cooling logic wiping out the
tote's inventory when it was sitting in a stack node.

Also setup description text.
2019-02-28 23:47:36 -05:00
Aaron Suen
6e0d5a0778 Strata overhaul
- Apply stratification last in shared mapgens, so it can see all
  already-placed ores.
- Support stratification for nodes other than plain stone.
- Register lode stone and lode ore for stratification.
2019-02-24 10:19:22 -05:00
Aaron Suen
44b6a1d228 Shared mapgen API, add hard stone strata. 2019-02-23 22:48:39 -05:00
Aaron Suen
58cd080fdf Apply big stack refactor. 2019-02-23 10:21:27 -05:00
Aaron Suen
f893f613c3 API refinements.
- Make node match operate on only one of node or stack, depending
  on whether node defers to stack via is_stack_only.  This should
  hopefully prevent future pummel recipe issues.
- Add new core stack API.  Needs to be deployed in a lot of places.
- Start work on system for allowing flammable containers; they
  eject their potentially non-flammable contents.
2019-02-23 09:44:22 -05:00
Aaron Suen
0638e3f11f Crafting cleanup.
- Alternate shelf recipe to make it a little more intuitive.
- Label all existing recipes.
2019-02-21 14:37:22 -05:00
Aaron Suen
0df805f647 Fix lode tool head name capitalization. 2019-02-20 01:58:14 -05:00
Aaron Suen
6d2b15a81b Item storage shelving. 2019-02-20 00:40:55 -05:00
Aaron Suen
7c9c5a06f2 Lode tools are now a thing! Rejoice! 2019-02-19 23:53:40 -05:00
Aaron Suen
b622883995 Made living sponges spread. 2019-02-19 19:02:21 -05:00
Aaron Suen
fa3871e99c Drop slabs, increase stepheight.
Non-cubic nodes wreak havoc with falling items and stacks.  The
general need for slabs can be worked around by increasing the
player's stepheight allowing traversal of normal terrain without
jumping.  Unfortunately this will only work in 5.0+, which should
hopefully be released soon.
2019-02-15 21:24:37 -05:00
Aaron Suen
50875fc9d8 FINALLY finish converting remaining pummel stuff. 2019-02-10 00:25:57 -05:00
Aaron Suen
1a3afc6fa9 Cleanup. 2019-02-09 23:24:01 -05:00