2672 Commits

Author SHA1 Message Date
Aaron Suen
7d12ea4acb Use textures for all particles
These cannot be overridden by texturepacks
otherwise.
2021-12-13 22:18:06 -05:00
Aaron Suen
66ddeeb2d3 Fix players being hurt by own thrown items 2021-12-13 21:54:13 -05:00
Aaron Suen
f8df58eb67 Typo 2021-12-13 20:58:38 -05:00
Aaron Suen
f48798ba77 Tweak raking line opacity 2021-12-13 06:54:09 -05:00
Aaron Suen
8120a5c715 Re-rename hints/challenges to discovery
NodeCore is supposed to be a "player vs self" mental
challenge, neither tourism/spectacle, nor a "player vs
environment" conquest.  Players are supposed to find
their own goals, as well as applying the effort to
achieve them, and the nature of the goals is
purposefully as open-ended as possible, ideally with
no bias toward any kind of "completionism."

The name "Hints" implied some kind of assistance, and
thus was inappropriate.  The name "Challenges"
similarly implies an extrinsic source of motivation,
which the system is only marginally designed to
provide; especially, it helps new player gain some
momentum, but players are supposed to find their own
motivation eventually instead of chasing after
hint completion as a goal, especially since they will
miss the most compelling aspects of the game.

Somewhat experimentally, rename these once again
to "discovery"/"discoveries" and remove language that
suggests progress toward completion.  Add stronger
language suggesting that there is much more to
discover outside of this, hinting at emergent systems
as an example
2021-12-12 14:17:29 -05:00
Aaron Suen
f3bdf91dc6 More accurate entity settling
Under heavy lag conditions, physical entities may
land on the ground at any point during a time
step, but if they have a lot of horizontal velocity
then they may "slide" along the ground, and if we
only check for settling based on their pos at step
times, they may have already slid some distance
dependent on luck and the actual amount of
server lag.  This means that under heavy lag
conditions, items may spread out inconsistently
from their landing positions and make a messy
pile.

Using the MT 5.3+ moveresult parameter of
entity steps, we can easily find out when the
initial ground contact occured, and use that as
the settling position, which should be more
consistent under lag conditions.

This has the effect of making entities more
consistently "sticky" so they always tend to
stick at the point of initial contact and rarely
slide or glance along the ground, unless they
hit an edge/corner.
2021-12-12 10:01:24 -05:00
Aaron Suen
67e4c5d476 Leach to non-loose to aid witnessability
If the node leaches and then later repacks, then
the delayed witness would be lost.  This gives
players more time to witness the result.
2021-12-12 00:46:06 -05:00
Aaron Suen
95a27184d8 Refresh player guide upon closing it 2021-12-12 00:36:24 -05:00
Aaron Suen
0e96a579b1 Fix leaching hints 2021-12-12 00:33:17 -05:00
Aaron Suen
f5e966480b Fix delayed witness mis-ordering
Witness checks include data about the node in
place at the time that the witness even occurred,
so players are not awarded credit if the node they
see there was changed again afterwards.  A lot of
old witness code inserted the witness right
before the node was changed, since the node
change was done as a tail call, but this does not
work with delayed witnessing because the
delayed witness data would be tied to the old
node, not the replacement one.

Moving witness to after node setting should fix
a number of broken hints that should have been
delayed-witnessable, e.g. brick bonding.
2021-12-12 00:04:37 -05:00
Aaron Suen
502cafc852 Fix misnamed cherenkov ABM 2021-12-11 23:36:01 -05:00
Aaron Suen
df0a2a177f Fix anvil performance issues
Instead of registering 12 separate recipes for
each anvil recipe, just register 2: one for each
temper, and do a second lookup for anvil types
in pre/post check.  This should avoid having
to re-evaluate all the rest of the stuff for each
anvil/temper combination type.
2021-12-11 22:56:51 -05:00
Aaron Suen
8bfdc211a3 Convert some action logs to info
We were using action log level for a lot of
things because by default MT does not seem
to capture info logs to stderr.  On "production"
servers though this makes too much noise and
makes it hard to find actual player actions.
Servers that want info logging will just have
to configure/compile it in.
2021-12-11 21:26:18 -05:00
Aaron Suen
430f08385c Fix soaking meta cache corruption
This was causing soaking things to finish early
and all fire at the same time.
2021-12-11 21:10:27 -05:00
Aaron Suen
5caf66f6ea Add an "uncheat" command 2021-12-11 21:09:33 -05:00
Aaron Suen
ae24ff0655 Lower some ABM costs 2021-12-11 12:14:42 -05:00
Aaron Suen
17c5b2fda7 Leaching by group, fix settingtypes.txt 2021-12-11 11:36:52 -05:00
Aaron Suen
c34bc39530 Soil leaching now requires raked soils
This is a design compromise to knock out the
worst offender in ABM cost, by requiring a node
that must be created by player action instead
of ubiquitous naturally-occuring nodes that all
need to be checked.

Leaching is really meant to be more of a minor
gameplay element anyway, for either skyblock
purposes, or for people who are bored enough
that they want to take on a challenge like a
neutral eco footprint; most normal players just
gather the materials from mapgen and hardly
bother with leaching recipes anyway.
2021-12-11 11:25:18 -05:00
Aaron Suen
77c2868412 Allow plank bashing automation like log chopping 2021-12-11 11:14:00 -05:00
Aaron Suen
5d43268cea Old notes 2021-12-10 20:29:07 -05:00
Aaron Suen
d7df7f5521 Translation sync 2021-12-10 08:05:53 -05:00
Aaron Suen
26369a9d54 Generic priv notify for any/all GUI tabs 2021-12-10 08:01:45 -05:00
Aaron Suen
22a848a0d2 Update tabs immediately on priv grant/revoke 2021-12-10 07:57:28 -05:00
Aaron Suen
bebac9d511 Reorganize tabs for players w/o Challenges tab
- Hide the Challenges tab for players who don't have interact
  privs and thus can't use them.
- If there are fewer tabs than the horizontal limit, expand all
  remaining tabs to fill the horizontal space instead of leaving
  a gap at the right side, which looks bad when there's a
  scrollbar in the content below.
2021-12-10 07:42:33 -05:00
Aaron Suen
227fef47d9 Fix wrong ordering in glyph touchthru
things are listed in Z order, and the glyph is clearly printed
on TOP of the node.  Put glyph on top, consistent with the way
fluids work.
2021-12-10 07:19:36 -05:00
Aaron Suen
7dcbf273ee Add door catapult sounds 2021-12-10 07:16:00 -05:00
Aaron Suen
4aee5a8972 Fix missing door convey fall check 2021-12-10 00:16:37 -05:00
Aaron Suen
86707af8ae Nerf rush growth rate
Seems like it's too easy to farm wicker in
comparison to farming thatch
2021-12-10 00:10:43 -05:00
Aaron Suen
328e52d68d More pronounced door tool anim
Was hard to see on MP servers
2021-12-09 22:37:26 -05:00
Aaron Suen
6fb5ff1980 Animation for door dig/pummel 2021-12-09 22:30:39 -05:00
Aaron Suen
c6de6a5a52 Thatch and wicker shouldn't be so hard to dig 2021-12-09 21:58:49 -05:00
Aaron Suen
0b3271d2da Significantly simplify ambiance dequeueing
These are just going into the after() queue now so
all the rate-limiting stuff is no longer needed.
2021-12-08 23:43:31 -05:00
Aaron Suen
a15dab698a Fix tarstone hint using thrown item 2021-12-08 23:31:03 -05:00
Aaron Suen
44b439ff74 Update issues lists 2021-12-08 23:20:42 -05:00
Aaron Suen
80b7160366 Earth raking hints 2021-12-08 23:12:22 -05:00
Aaron Suen
d0f50dd11a Falling nodes crush raked earth back to normal 2021-12-08 22:37:00 -05:00
Aaron Suen
7db1beee70 Add raked dirt and humus
These also function as "farmland", as raking enhances
the nutrient bioavailiability.
2021-12-08 22:30:50 -05:00
Aaron Suen
57ded7744d Humus is not interchangeable with dirt
This probably breaks using humus as a substitute for
dirt in making adobe, which is probably fine.
2021-12-08 22:06:24 -05:00
Aaron Suen
08593e7132 Allow tarring aggregate via thrown items
This makes agg tarring automatable by catapulting
coal lumps into we aggregate pools.
2021-12-07 23:21:46 -05:00
Aaron Suen
3e262c0a17 Avoid soaking cache collisions
It's possible multiple soaking ABMs are registered
against a single node, and if this happens, make sure
that the qty and time fields in the cache are kept
separate the same way they are in the node meta.
2021-12-07 23:01:14 -05:00
Aaron Suen
25e0219ad8 Desynchronize node ambient sounds
- Removes repeating patterns, creates a richer and
  fuller sound experience
- Larger areas fill sound volume out better instead of
  just repeating more loudly
- Spread network traffic across multiple ticks better
  to reduce packet spikes

Each node position has a set delay, between 0 and 1
second, that's fixed for that pos but varies more or
less randomly between positions.  This ensures that
sounds loop with the same frequency and alignment
for a given single node, but desync across nodes.
2021-12-07 00:57:33 -05:00
Aaron Suen
ffadef37fc Fix misisng grass group 2021-12-07 00:41:29 -05:00
Aaron Suen
1e0b9dbbaa Disallow wind from passing thru solids 2021-12-07 00:35:02 -05:00
Aaron Suen
3ea2ce8827 Much more palpable wind sounds
Instead of statically-positioned wind sounds, many
of which are often outside of hearing range,
attach sounds to moving entities which often tend
to move across the player's position.
2021-12-07 00:11:15 -05:00
Aaron Suen
f0a3c7151b Tote fixes and improvements
- Fix item loss when totes ignite
- Slots used / total in description
2021-12-06 23:40:54 -05:00
Aaron Suen
13abe9a45b Add hard stone support for anvils
Deeper strata can be used, and each is twice as
resistant to weakening as the one above.
2021-12-06 22:26:57 -05:00
Aaron Suen
ada9e11987 Support probabilistic craft node replacement 2021-12-06 22:25:03 -05:00
Aaron Suen
6a6e6e420b Update ideas doc 2021-12-05 16:02:33 -05:00
Aaron Suen
f1c43f0594 Handle open-bottom storeboxes on tote place
When using forms with totes, if the items in forms
are not supported, they should fall.
2021-12-05 15:25:08 -05:00
Aaron Suen
a0d4f20566 More notes and some reorg 2021-12-05 14:52:13 -05:00