74 Commits

Author SHA1 Message Date
Aaron Suen
eeff1d530c Use standard framed mesh for lode crates too. 2019-12-08 16:47:51 -05:00
Aaron Suen
ce58f8294c Refactor shelf API/assets into its own module. 2019-12-08 16:41:59 -05:00
Aaron Suen
dd0cf19784 Centrally fix water z-fighting on ALL nodeboxes. 2019-12-07 22:24:09 -05:00
Aaron Suen
e99c72154d Shelf standarization and tweaks.
- Refactor common code.
- Allow placement of wood shelves inside lode crates.
2019-12-07 18:25:05 -05:00
Aaron Suen
6e1f3fee94 Standardize intra-line spacing in code. 2019-12-01 11:08:12 -05:00
Aaron Suen
b9e2f822f8 New flexible find_nodes_around api. 2019-11-30 10:28:35 -05:00
Aaron Suen
4c025eea00 Don't register useless glowing lode full tools. 2019-11-17 08:55:24 -05:00
Aaron Suen
e4dba54be3 Lode smelting rework.
Separate ore melting and draining processes, to
ease the cognitive leap necessary to figure out
lode smelting.  Players now get feedback when
they have figured out the heating part of the
process, and the visual for cobble with molten
lode in it hints at the draining process.
2019-10-06 10:31:58 -04:00
Aaron Suen
c147da4dde Convert from depends.txt to mod.conf 2019-10-05 11:24:16 -04:00
Aaron Suen
54cc3445d3 Further shelf placement fixes. 2019-09-21 12:12:52 -04:00
Aaron Suen
e48d306e98 Fix broken lux ore hard strata. 2019-09-15 07:32:06 -04:00
Aaron Suen
52de19a28c Unified falling check, check after craft. 2019-09-09 07:05:01 -04:00
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