18 Commits

Author SHA1 Message Date
Aaron Suen
e4dc398b3a Start work on usage survey.
- Refactor player knowledge into player mod, to declutter API.
- Move player knowledge into mod storage so players don't need to
  be connected to access.  Old knowledge will be reset, but I
  doubt there was very much of it to lose.
- Start gathering some basic stats.
  - Main glaring omission is player moving and idle time.
2019-01-26 16:39:07 -05:00
Aaron Suen
fcb8463953 Stone-tipped tools.
- Add a bit of stone to the tip of a wooden tool to harden it.
- Stone tools wear back down to their wooden originals.
- Stone tools dig faster, but wear quickly, so you need to pay
  attention to wear levels and carry spare stone tips.

Also:
- Nerfed mining speeds again, but made higher-tier tools much
  faster relative to lower.
- Nerfed tool durability as well.

Also:
- Standardized item ejection logic.
2019-01-25 09:26:15 -05:00
Aaron Suen
8e47b687d0 TOOL CAPABILITIES / LEVELS OVERHAUL
Try to standardize the way we handle tools, materials, digtimes.
- Levels start at 1 and work upwards.
  - Level 1 is for "hand" or "primitive" tools.
  - Levels 2+ are wood, stone, metal, etc.
- Link dig times, tool levels, and durability together.
- Material groups now define standard "base dig times" which
  are the main thing that makes e.g. stone harder to dig than dirt.

The speed of digging almost everything will probably have changed,
in some cases not for the better; much testing will be needed.
2019-01-24 22:08:05 -05:00
Aaron Suen
7080270e56 Fully rename iron to lode.
Also refactored API to handle simple aliasing on rename
automatically, and allow registration intercept for non-node
item defs too.
2019-01-24 20:45:14 -05:00
Aaron Suen
af64f075be Fix locals. 2019-01-12 20:51:34 -05:00
Aaron Suen
85bc45e3a6 Fixed a couple of warnings. 2019-01-12 20:46:56 -05:00
Aaron Suen
7d29907ab2 Some API refactors.
- Clean up utils into multiple files.

- Standardize limited ABM.

- Standardize debug trace handling.  Instead of using chat_send_all
  to debug, and then having to remember to remove before release,
  allow privileged players to receive all server debug messages.
2019-01-06 12:02:37 -05:00
Aaron Suen
c91151ab06 Start of a more flexible centralized crafting system. 2018-12-30 17:36:47 -05:00
Aaron Suen
41f4cbcbc8 Back out stubbed hints system for now. 2018-11-03 21:00:38 -04:00
Aaron Suen
d042609b85 Player knowledge tracking system.
Track a list of all unique experiences a player has had with
various nodes.  This can be used for a hints/achievements system.
2018-11-03 20:58:49 -04:00
Aaron Suen
7bd9c4e63a Use adze to split logs into planks. 2018-11-03 18:56:07 -04:00
Aaron Suen
37c8b0865c Separate tech trees in tree mod. 2018-11-03 11:26:15 -04:00
Aaron Suen
b7e3048fd7 API cleanup, librarify "visible inventory" functionality.
If we later implement solo-stack open containers, then this will
be reusable for that as well.
2018-11-03 08:46:14 -04:00
Aaron Suen
24e4f73213 Basic adze tool, able to break trees now.
Much TODO:
- Primitive adze should not harvest trees whole; need to split into
  planks from end only.
- Not entirely satisfied with crafting experience from gameplay nor
  API perspective.
- Need an easier way to register these kinds of recipe checks.
- Need more gameplay actions to commmit a craft, e.g. have to pound
  the tool head into place.
2018-11-02 23:54:43 -04:00
Aaron Suen
15e71cfd3b Have to use hand to pack earth, code cleanup, fixes, optimization. 2018-11-02 21:20:51 -04:00
Aaron Suen
cd8db98c68 Add "pummel" action, for repeatedly punching nodes.
- Punch a node repeatedly, aborting dig between each swing, to
  trigger the "pummel" action.
- Can use this to repack "loose soil" type nodes into solid,
  non-falling versions.
2018-11-02 19:08:59 -04:00
Aaron Suen
7e9fcf296d API-ify some node behavior upon registration. 2018-11-02 18:47:44 -04:00
Aaron Suen
b8b4b24982 Start unified API, add angle-of-repose logic.
"Loose" versions of materials will only allow a certain maximum
angle of repose, and will shuffle around sideways and fall if
that angle is exceeded.  Softer materials like sand, leaves, loose
items, will all have shallow angles, while sturdier stuff like
dirt, gravel, etc. may allow steeper ones.
2018-11-02 07:52:23 -04:00