18 Commits

Author SHA1 Message Date
Aaron Suen
ad852b8782 "Wood" in names for stick tools
Now that we have non-wooden versions of
these, suffix material name for consistency.
2020-09-16 20:19:18 -04:00
Aaron Suen
ef4b320193 Multimodal Rake API
Based on what's being dug, rakes can have
different dig volumes and checks.

Lode rake now has 3 modes depending on
what's being dug:
- Loose things, same as wooden rake
- 3x3x3 exfoliating
- 3x1x1 soil tilling/digging
2020-09-02 07:53:05 -04:00
Aaron Suen
5556797e45 Genericize rake logic
This makes it possible to register additional
rakes with different capabilities.
2020-09-01 21:07:37 -04:00
Aaron Suen
b2f78c0daa Indexing for craft checks
By restricting the recipes we check based
on the name of the central object being
checked, we can do many fewer craft
checks per item and avoid expensive
checks.
2020-06-27 12:20:35 -04:00
Aaron Suen
42f125c716 Make most recipes indexable
Register a "rootmatch" property for all
recipes that represents a broader, quicker
test for recipe eligibility.  False positives are
allowed but false negatives are not.

Since most recipes are eligible, we can
use this to build an index for fast lookups
of subsets of recipes to run and skip most
of the other ones.
2020-06-27 11:06:43 -04:00
Aaron Suen
ad0952a773 Optimize rake entity handling 2020-06-23 23:38:32 -04:00
Aaron Suen
e0156b4742 Add profiler instrumentation metadata everywhere
N.B. the MT built-in profiler doesn't yet actually support reading
labels from bare-function registrations, so a builtin hack is
needed.
2020-06-15 07:21:39 -04:00
Aaron Suen
acfd3d08dd Clean up a few log items, fix levels 2020-06-09 19:05:39 -04:00
Aaron Suen
6c640a11b1 Validate log message levels 2020-06-09 19:02:07 -04:00
Yaman Qalieh
a8147e9875 Add levels to log messages 2020-05-27 14:04:00 -04:00
Aaron Suen
c2fab4b12d Rakes should be flammable
How did we miss that for so long...?
2020-05-22 15:34:39 -04:00
Aaron Suen
91b5d55320 Fix rakes digging when picked up. 2020-02-14 21:22:14 -05:00
Aaron Suen
b44263e332 Fix rakes losing or duplicating items. 2020-02-14 21:15:24 -05:00
Aaron Suen
efea4c0047 Rake reforms and cleanup.
- Simplify and then optimize code.
- Default rake mode digs up all rakable items in area.
- Sneak+dig digs up only matching items/stacks.
2020-02-09 10:12:16 -05:00
Aaron Suen
b9e2f822f8 New flexible find_nodes_around api. 2019-11-30 10:28:35 -05:00
Aaron Suen
6f3bb30825 Fix rake taking credit for hand-digging nodes.
When you have a thing in your hand that doesn't help
you dig a node, but you can dig that node by hand,
then apparently the after_use callback still seems to
trigger, causing the rake effect, and wear-out.
2019-10-31 21:33:53 -04:00
Aaron Suen
aebbef9720 Rake also gathers excess loose items to center.
Any items that don't fit in the player's inventory will gather
to the center of the raked area, so they can combine and pile
together for easier pickup later.
2019-10-30 07:59:36 -04:00
Aaron Suen
11314033e8 Rake tool easily cleans up messes. 2019-10-29 23:20:09 -04:00