2714 Commits

Author SHA1 Message Date
Aaron Suen
ea2ccc972e Debug code 2022-01-15 12:17:13 -05:00
Aaron Suen
39689e30a0 Attempt to limit node setting noise
If bursts of node setting happen all at once, limit
it to about 25 per second.
2022-01-15 12:16:55 -05:00
Aaron Suen
7152c487ce Access to flora as weeds via peat fermentation
- Made grass from peat more common
- Flowers spontaneously grow on humus under sun
- Sedges spontaneously grow on grass
- Rushes can spawn near water and sedges
2022-01-15 12:03:28 -05:00
Aaron Suen
aa64359cc3 Fix stylus etching using doors 2022-01-15 11:20:33 -05:00
Aaron Suen
ec6a04c1ce Support ambiance pitch variation 2022-01-14 21:33:30 -05:00
Aaron Suen
d1b6c0333b Change how optic ungluing works
Instead of digging the glue off by hand and freeing
up the optic to rotate again, it must be fully dug by
a tool, to further prevent accidental ungluing.
2022-01-11 23:24:57 -05:00
Aaron Suen
bf8f74b35f Fix cooking/cooling in storebox regression
Allow matching to work explicitly with items inside
containers if so marked, and automatically mark
all cooking/cooling recipes thus.
2022-01-11 20:58:35 -05:00
Aaron Suen
42e07db626 Fix lode block forging on stone
If you have enough glowing prills in a stack, then
making a lode cube always takes precedence over
"stone anvil" hot-forging recipes.  If players want to
make toolheads they'll just have to make sure they
don't have excess amounts of lode in the stack; it's
a good reason to eventually switch to cold-forging
on tempered anvils anyway.
2022-01-09 17:10:03 -05:00
Aaron Suen
d4d6e225ae Translation updates 2022-01-09 13:30:41 -05:00
Aaron Suen
ce2b2ddfd3 Fix glued lens activation 2022-01-09 13:28:45 -05:00
Aaron Suen
25a548e26a Update groups documentation 2022-01-09 13:18:07 -05:00
Aaron Suen
301ac45f02 Add groups for artificial concrete types 2022-01-09 13:12:46 -05:00
Aaron Suen
d37b97bb95 Fix broken ablation check 2022-01-09 13:11:59 -05:00
Aaron Suen
d37e9e9ace Genericize lens beam emitters
Look for optic_lens_emit group instead of explicit
lens_on node, to support multiple lens beam emitting
nodes (e.g. glued/unglued) for firestarting, door
ablation, etc.
2022-01-09 13:07:16 -05:00
Aaron Suen
894fab64e1 Don't break timers/meta on optic gluing
This in particular seemed to affect shining lenses.
2022-01-09 13:02:45 -05:00
Aaron Suen
727dce0e37 Hint for optic gluing 2022-01-09 12:57:10 -05:00
Aaron Suen
7dc3933aaf Restore glued optics default right-click action
Allow placing against them, scaling them, etc.
2022-01-09 12:54:31 -05:00
Aaron Suen
85c96c8094 Glue optics in place with an eggcorn
This makes it possible to lock optics against
accidental rotation, which has been a problem.
2022-01-09 12:52:54 -05:00
Aaron Suen
8c9a8b7843 Warning message cleanup 2022-01-09 10:52:26 -05:00
Aaron Suen
bf2bed7b5a Reduce time-of-day workaround impact 2022-01-09 10:36:57 -05:00
Aaron Suen
b18fe1ee77 Revert "Simplify fixed-time-of-day"
This reverts commit 687058facb1c2431af06f283294954e5583019fa.
2022-01-09 10:24:05 -05:00
Aaron Suen
687058facb Simplify fixed-time-of-day
Apparently time-of-day is sent to clients purely on
a fixed time interval, so the warning about extra
network traffic was incorrect.  We can just forcibly
set time of day each tick entirely server-side without
any ill effects on network clients.
2022-01-09 10:07:10 -05:00
Aaron Suen
a0ae93f97a Allow door digging to bypass protection 2022-01-07 20:58:00 -05:00
Aaron Suen
fed3bdc6c5 Notes update 2022-01-07 20:48:19 -05:00
Aaron Suen
de979d87e3 Remove guide entry about 3x3 recipes
They should no longer exist, officially.
2022-01-07 20:48:12 -05:00
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
9a489a6eb2 Notes update 2022-01-04 06:31:05 -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
8253964fc4 Update notes w/ storebox reform completion 2021-12-30 12:40:44 -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