If a node is specially tagges with the stack_as_node group, and
the stack size is exactly 1, place as a real node instead of a
stack node.
This reinstates logic from WAY back in the super-early pre-alpha
days, except only for nodes explicitly tagged this way.
This should be applied only to nodes that aren't transformed in
any non-desirable way when placed as nodes instead of stacks, and
can be dug the same ways as stacks (i.e. snappy = 1 or
crumbly = 1).
Currently applied to sticks, staves, leaves, ladders/frames,
and torches. Ladder/frame placement offers some interesting
possibilities in terms of throwing ladders to rappel down holes.
Placing a shelf against the side of another shelf was possible
with a simple right-click, but placing one against the top or
bottom of another shelf didn't work. This fixes that.
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.
- 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
Can't get HUDs to align right on high-DPI/android at all. Give up
on the combination breath/wield bar, switch back to a much earlier
version of the code for that.
For wield names, add a new tooltip to the center of the screen, and
show it transiently so that it doesn't disrupt all gameplay.
As a bonus, this is also a logical place to put a "what am I
touching" display, so hook this up for punching. Now you can
tell what you're touching even when you can't dig it. This is
like a WAILA mod, but doesn't require tracing.
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.
Since the recipe output count matches frame count, this is more
consistent with design intent.
Shelves can also be crafted in place this way for use in a tote.
When picked up, it carries up to 8 surrounding shelves with it,
allowing significant inventory compression into one slot. Needs
to be placed somewhere everything fits to access the inventory
again.
- As a general rule, we're disallowing nesting of containers for
now. Only bare stack nodes may contain containers.
- Overhaul docs. Ideas are getting out of hand, shoved a lot of
stuff into the icebox for now.
- Remove debugging code.
- We don't really need to be able to reach through shelves, but
we don't want to miss when trying to access them, so make
shelf hitboxes solid for now.
Appears to work with existing functionality.
Next step will be to rework pummel to use a "recipe" system and
reuse most of the useful parts of the crafting system.
- Eggcorn cleanup. They look a little better falling out of the
tree, and we don't have so many now.
- Crushing damage fixes. Crushing is nuanced now, and most things
don't smush you, and many do reduced damage. A few may do more.
- Item stack convenience. Items landing on a stack or right-
clicked onto one attempt to merge into it.
- Ladders now fall (they don't connect to sides). Use the new
full-scale frames for ones that don't.
Can construct simply using a stack of sticks. Makes it possible to
maintainably tunnel upwards to bring in sunlight for indoor light
for shallow builds, and provides a safe walking surface above.
Also:
- Fixed recipe rotation to include normal check.
Allow up to 2% wear. Sometimes you're diggng with a stone tool and
the tip breaks off and you don't notice (there's no sound yet),
so you accidentally dig a little with the wood tool and get it a
little dirty. Let's be a little forgiving, and allow the stone
tip applicaton to also apply a little "repair" to the underlying
wood tool.
- 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.
- Make check/resolve functions naturally paired instead of having
to test the "check" value, so we can use the "check" value for
more specific parameter stuff.
- Make existing pummel logic use a standard tool speed check.
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.