This restores an old visual scale from the extremely early days
of NodeCore. That style was removed to syncrhonize the scale of
stack nodes with item ents. The syncrhonization can work the
other way, too, though.
This was triggered by wanting to make loose item ents more
visually distinct at a glance from settled stack nodes, by making
loose item ent rotation faster. Since we were going to change the
properties either way, given that, then we might as well use the
better visual.
Since making stack nodes have a full-size collision hull, it was
distracting having the items inside be so mismatched in scale.
Also, the "pointing around stacks" thing becomes less important
in long-run gameplay with shelves in play, which do not allow
pointing around/through anyway.
- Intercept /give commands.
- Provide an API for giving the player an item and inserting it
into the inventory in the right place(s).
- Change the fill order. We try to fill the current slot first,
the continue to the right to the end of the bar, and then
finally work our way left to the beginning. I think this fill
order should be most comfortable, in terms of having items tend
to fall close to the cursor.
Use interception where possible to modify destintion for items
directly instead of relying on post-hoc inventory rearrangement.
This should resolve the glitches where items appear in the wrong
place in inventory for a flash before being moved.
It was superseded effectively by the new inventory management
system. To split stacks, count out the items to transfer onto the
ground using sneak-drop, select the destination slot and pick them
back up.
- 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
This makes it a little easier to discover recipes, since you now
generally don't have to get the exact count right anymore; just
make sure you at least have enough.
- Eliminate health and breath stat bars.
- Players NO LONGER DIE FROM INJURY.
- Players no longer lose walking speed or mobility.
- Players lose inventory slots in proportion to injury; they're
stuffed with an "injury" item, and items they displace are
ejected. Slots are displaced in random order.
- Healing rate is much faster, so players are usually mildly
inconvenienced by injury, but can soon enough pick up their
stuff and leave.
- Health and breath HUDs are gone. Health is visible based on
number of lost slots, and breath uses a vignette to narrow
tunnel vision for O2 loss.
Overall, the old health system has been more of an immersion-
breaking annoyance than anything. This allows health to get out
of the way of the primary gameplay.
UNFINISHED: Need a replacement for the old "suicide to get unstuck"
mechanic.
Seems like minetest doesn't behave very well on trying to spawn
more than 1 particlespawner during a single tick.
Work around this so smoke comes out correctly...
Rotation is now fixed, non-moving, and deterministic. This fits
in better with the rest of the visuals in the game being
stationary when in steady-state, i.e. only things actually changing
are actually moving.
Instead of rotation speed indicating a full stack, rotation angle
now does; non-full stacks will always be off significantly from
orthogonal, while full ones will be perfectly square.
There seems to be an issue triggering events, so a lot of work
is being done by the abm to cover over this problem...
Much like my earlier work with sz_rotary, I suspect a lot of
fine-tuning will be needed.
This is allows you to split a stack by throwing individual items
with sneak-drop, letting them settle into a single stack, and
then sneak-digging the stack to keep it separate in your inventory.
This makes it possible to split stacks into arbitrary quantities
without having to use the inventory GUI.