- Thrown objects inherit initial velocity.
- Player and objects have matched terminal
velocity and can free-fall in tandem.
- Thrown objects experience horizontal air
friction too.
Making hand dig everything broke logic that was
depending on things being "not hand diggable".
Continue to treat things as not-hand-diggable if they
would take a long enough time to dig.
If players are invisible, NodeCore will not add any visible or
audible effects for them, allowing such players to be completely
non-interactive with gameplay.
This allows things like spectator or stealth-admin mods to
function properly.
Many processes that have a significant speed/time component can
now have speeds adjusted (as a multiplier from base rate) via
settings.
Things that can be adjusted:
- Tool speeds (including digging and pummeling)
- Cooking and pummel recipe durations
- Soaking processes like tree growth, peat fermentation
The settings are hierarchical, so groups of rates can be
adjusted together, and a further multiplier can be applied to
each member of the group.
The settings are calculated dynamically, for power users only,
and documenting them is out of scope for the project.
Specifically, this should help tuning for Kimapr's SkyBlock, and
possibly other mods involving signficant gameplay rebalancing.
This should improve game efficiency/smoothness when
a lot of flammable stuff is present but there are no
corresponding massive fires.
This seems to address runtime jitter issues noticed
after placing hundreds of coal nodes inside a forest.
Standardize the "play a sound for everybody except the player who
is already playing it client-locally" logic into one place.
Fix failure to correctly detect tool speeds for some things, i.e.
when the player is using a tool but the capability used on a node
is actually inherited from the hand.
Note that this may allow pummeling with wrong tools (e.g. repacking
soils with spades) along with accompanying inappropriate tool wear,
but this should be minor and avoidable, and can be fixed later...
We actually haven't been testing in 0.4 at all for quite a while
now. Since this is a standalone base game without complex
interdependency relationships, there isn't really any need to
maintain compat with old versions of the engine. Players can
upgrade to play; keeping a separate copy just to play on old 0.4
servers is even still an option.
There is some internal cruft that has been building up to support
0.4, and this allows us to purge most of it. The larger benefit
may come when we're able to remove line_of_sight in favor of the
more efficient raycast (still yet to be done).
- 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
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.
- Apply stratification last in shared mapgens, so it can see all
already-placed ores.
- Support stratification for nodes other than plain stone.
- Register lode stone and lode ore for stratification.
- Defined nodes, slabs, and prills of lode.
- Heating lode ore releases hot lode prills.
- Lode things in stack can air-cool to anneal or water-quench to
harden/temper. Cooling of placed nodes/slabs is planned.
- Hot items cannot be carried; picking them up causes damage and
causes player to drop them.
- 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.
Try to place items into existing stacks when searching for a
settling location.
Try to launch items from reasonable corners of a source node in
item_eject so they don't self-collide and end up in one pile.
- 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.
- There are now 6 degrees of embers. Better fuel sources will
make better embers.
- Embers differ only in lifespan; each class lasts twice as long
as the previous. Top-grade fuels may last 15 minutes or
longer.
- Embers decay stochastically.
- Embers decay 16x as fast when smothered, but still go through
the same lifecycle.
Also:
- Plain ash now reposes.
There are no infinite fuel sources, nor are any specifically
planned at this time.
Iron ore is distributed in sheets. The ore itself will not be
exposed to the air (or any other material other than stone) but
can be detected by the rusty tint it gives nearby rocks.
Iron ore is a stone that yields cobble infused with iron.
Smelting processes to produce steels are TBD.
- 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.