2443 Commits

Author SHA1 Message Date
Aaron Suen
346df76e0a Update translations w/ new rake hint 2022-01-07 20:37:12 -05:00
Aaron Suen
5e75fbd8d4 Translation sync 2022-01-07 20:35:14 -05:00
Aaron Suen
4c09d412c1 MAJOR: Rake recipe reform
Trying a new more "intuitive" rake recipe shape.
Rakes will now be notably cheaper than before, but
durability will not be nerfed.
2022-01-07 20:35:01 -05:00
Aaron Suen
af5375cf0c Recheck root match in crafts
This is necessary when the last step is placing a tool
or other item with wear, as the precheck apparently
doesn't check wear.
2022-01-07 20:28:19 -05:00
Aaron Suen
fef59533de Don't crash on missing wear in match 2022-01-07 20:27:44 -05:00
Aaron Suen
3e14eda5eb Try to avoid "air pummelling" due to lag. 2022-01-06 07:40:22 -05:00
Aaron Suen
9d3acd6280 Periodically rescan for missed hint alerts
It seems that there may be some cases where hint alerts are not
detected immediately (e.g. due to changes in eligibility rules)
and thus not displayed until the player discovers some other
random thing, and then they get a bunch of alerts together.
Instead, just do some casual background scanning of all online
players and update hints as necessary continuously to catch
any missed cases.
2022-01-06 07:27:32 -05:00
Aaron Suen
28ecc48399 Lots more German translation 2022-01-04 21:00:19 -05:00
Aaron Suen
849ebc62d4 Typo fixes 2022-01-04 16:33:14 -05:00
Aaron Suen
4d04885cbf Fix stack ignition conservation of mass
This was a workaround for a bug that it never actually really
addressed that caused stack fires to rage out of control.  It
turned out the bug was a special case item duplication, and it
was actually fixed long ago.

Allow stacks of things to be burned for all their embers/ash
again, and also for more devastating shelf-fire disasters.
2022-01-04 06:28:35 -05:00
Aaron Suen
194458a06d Translation updates, with new form/shelf hints 2022-01-04 06:22:49 -05:00
Aaron Suen
0144a3edd7 Hints for forms and new shelf recipes 2022-01-04 06:19:49 -05:00
Aaron Suen
741955e097 Fix item deletion on crafting storage boxes
Since items inside box would be deleted, just don't
allow crafting of storeboxes/totes if there's already
an item trapped in the form.
2022-01-02 21:31:15 -05:00
Aaron Suen
d72d7fc692 Make stuff above wet concrete fall 2022-01-02 13:23:39 -05:00
Aaron Suen
7921a78404 Fix door tote placement
When bypassing custom on_place logic and
skipping directly to "place as node" logic, also
allow nodes to customize their "place as node"
logic with another hook, which the tote can use
to ensure it's rebuilt when door-placed.
2021-12-30 12:49:24 -05:00
Aaron Suen
0aefabbeca Switch tote handle to knurled lode
There's no longer a wooden component in the
recipe, so eliminate the wood texture.
2021-12-30 12:18:10 -05:00
Aaron Suen
4304c47c6f MAJOR: Shelf recipe rework
Finally use the new Forms to craft shelves
using a 2-component recipe, and replace the
old 3x3 recipes.  This affects:
- Wood shelves
- Clear glass cases
- Float glass cases
- Lode crates
- Tote handles

For now, we're just going with the simplest
recipe of just putting an item into the form.
If players want to store things in the form
without assembling a shelf, they'll have to
remember to drop items in through the top
only.

Forms may have served a purpose as makeshift
storage when actual shelves are too expensive
but this is NOT their purpose.  They are
primarily intended as crafting ingredients for
proper storage, and secondarily as hoppers for
stack-fed machines.  Any ability to use them as
actual player-controlled storage devices is
purely coincidental and not guaranteed.
2021-12-30 12:05:29 -05:00
Aaron Suen
1ef418acfc De-genericize metallurgy groups
When this was setup, it was named generically
in order to support future functionality that
used the same heating/tempering/annealing
mechanics.  Ironically this has actually only
caused problems.

Standard game mechanics will not mimic one
another, especially something this complex.
Anything worth making a system for nodecore
that's as complex as lode-working deserves its
own distinct mechanics rather than recycling
lode-working.  So vanilla NC will not reuse the
metal-working logic anyway.

Mods were able to reuse the existing logic, but
ironically the only one mod that would actually
have benefitted from it (i.e. uses very similar
heating/tempering/annealing) just copied and
pasted the code from NodeCore anyway, which
not only didn't take advantage of the existing
mechanic provided, but actually made the mod
break the game when installed, because the
mod would replace functionality in use by
vanilla with an older version, and the copying
will always keep that functionality locked in to
an older version, breaking whenever future
changes to the base mechanic are made.

Rename the base mechanic to (1) get out of
the way of the existing mod, and (2) make it
more clear that this is NOT generic functionality
that can be used to create new metals, but
only specifically for lode, and if somebody else
wants a clone of this logic, they would need to
rename it to make sense.
2021-12-29 11:34:30 -05:00
Aaron Suen
883e37a493 Typo 2021-12-27 20:44:09 -05:00
Aaron Suen
860bf97905 Special case: reset rad rate when resetting level 2021-12-27 00:32:25 -05:00
Aaron Suen
09af14ced5 Add a "set" method for the health API 2021-12-27 00:31:14 -05:00
Aaron Suen
c20bc5b502 Make a proper air_equivalent API 2021-12-26 13:26:28 -05:00
Aaron Suen
67d210cbf4 Rename "grassable" API to be less deceptive.
The grassable group means "grass can grow here"
but the API means "grass can grow under here"; make
the name clarify the difference.
2021-12-26 09:13:09 -05:00
Aaron Suen
a12e1b359a Fix wrong group in grass check
This allows mods (e.g. WC Naturae) to register stuff
that's suitable for grass growth but not usable for
cultivating other, more complex plant life.
2021-12-26 09:06:36 -05:00
Aaron Suen
2c6eb8dd91 A few more translations 2021-12-26 00:15:46 -05:00
Aaron Suen
fde1d0ade7 Fix leaf decay check destoying loose leaves 2021-12-25 23:57:26 -05:00
Aaron Suen
9a2082f084 Fix soaking ABM push cache incoherence 2021-12-24 22:08:10 -05:00
Aaron Suen
31f8ab4ae1 Fix anvil hints (again) 2021-12-24 02:32:25 -05:00
Aaron Suen
dd5236f38b Mostly un-nerf rush growth rate
Sedges were buffed to balance it already anyway.
2021-12-22 21:49:39 -05:00
Aaron Suen
27f6447787 More translations, more notes. 2021-12-21 18:08:30 -05:00
Aaron Suen
d43fccf9f7 Update credits for new german translations 2021-12-21 12:27:42 -05:00
Aaron Suen
d450857844 Translation download reliablity update
Detect a translation that once had strings but became
blank due to an uncaught failure to download the
file from weblate.

Also make trace output a bit terser but more specific.
2021-12-21 12:26:24 -05:00
Aaron Suen
1c5434b433 Update translation src w/ hint/discover updates 2021-12-21 11:46:22 -05:00
Aaron Suen
3db0d71dcb Translation updates 2021-12-21 11:44:01 -05:00
Aaron Suen
2b9c30c8de Fix node stack meta privatization
When stack data was moved from node meta
inventory to fields, it was automatically privatized
and no longer sent to clients, which led to the
unintended consequence of breaking client
enable_local_map_saving.  Maps saved this way are
missing all stored item stacks, which can be a very
significant part of the gameplay and render the
maps useless for many purposes.

The default behavior should be to leave this engine
feature intact, with an opt-in option for those who may
have come to rely on the alternative behavior.
2021-12-18 12:42:45 -05:00
Aaron Suen
8c027089ae Merge branch 'unloadcheck' into dev 2021-12-18 12:14:08 -05:00
Aaron Suen
17c3f1700f Area load check for AISMs 2021-12-18 12:10:58 -05:00
Aaron Suen
31de8b0fde Add automatic unload testing for DNTs 2021-12-18 12:05:25 -05:00
Aaron Suen
a1b2df3941 Begin standardization of unload bounds check
- New near_unloaded API that supports custom
  distance parameter, map bounds check, and
  some optimizations.
- Add area automatic unload check support to ABM
  API and add to applicable ABMs, replacing many
  old manual checks.

Note that the explicit unload check is only strictly
necessary when something will happen due to
a node NOT being present in the area, e.g. something
igniting due to absent coolant, or soaking quantity
being reset due to missing sources.  In simple cases
where the absence of a thing causes the ABM to do
nothing, then the standard check can work because
the default action is to do nothing anyway.
2021-12-18 11:28:14 -05:00
Aaron Suen
a73d9e4457 Report demuxed ABM amounts too 2021-12-18 10:44:45 -05:00
Aaron Suen
b3eb4b474b Allow run-up-ladders for "split" ladders 2021-12-16 23:41:15 -05:00
Aaron Suen
34907db496 Fix deleted wrong file 2021-12-16 23:05:03 -05:00
Aaron Suen
2537bb7c27 Finish basic hint reform 2021-12-16 22:49:07 -05:00
Aaron Suen
65dc1fe58f Start working on some hint reform
Got through a bunch of mods, up next is optics.

- Try to use crafting recipes rather than resources as
  the criteria for completing a hint.
- It's okay to use simple item observation for specific
  cases of transient things like pliant concrete.
- It's also okay to still use simple observations for the
  eligibility checks.
- Simple observation is also okay for naturally occuring
  e.g. decay processes, like wilting flowers, as opposed
  to crafts that need to be completed.
2021-12-16 22:31:50 -05:00
Aaron Suen
fb76d23f36 Expand peat grinding to groups
- Use groups so it's easier for mods to add things
  that can be ground into peat.
- Pretty much all flora can be ground into peat as well.
2021-12-16 20:47:13 -05:00
Aaron Suen
b7e4809e85 Make rakes at least somewhat useful with doors
- Normal non-selective raking mode works when
  pushing a rake with a door.
- The rake does not pick itself up.
- Collected things are dumped at the location of
  the direct raking target.

This doesn't seem super useful right now, but
a rake digging a full stack of some item will cause
all additional stacks of items in its range to settle
near the full stack, which could end up over a chute
allowing the item to fall down, and thus could be
used to collect items that scatter over a wider area.

Before releasing this we might consider making
rake digging selective by default, so these can be
used to sort and filter items.

May also consider making it possible to dig with a
rake in other circumstances, e.g. pushing a rake
against an open side of a storebox that has no room
for the rake will cause the rake to dig that stack and
all nearby matches?

May also consider cleaning up the raking API entirely
to make it easier to directly invoke a rake via
machine digging ... or tidy up the machine digging
API so it's no so hacky.
2021-12-16 18:01:23 -05:00
Aaron Suen
32df131204 Merge branch 'master' into dev 2021-12-15 21:48:55 -05:00
Aaron Suen
f26cea0067 More images caught by the optimizer 2021-12-15 21:46:42 -05:00
Aaron Suen
1175aa0339 Fix missing back faces on flowing liquids 2021-12-15 21:36:20 -05:00
Aaron Suen
080aed561e Fix crash 2021-12-15 21:36:02 -05:00