10 Commits

Author SHA1 Message Date
Aaron Suen
7b4d953c1f Prevent ticking-automation exploits
The soaking-tickling mechanism was intended only to speed up
otherwise very boring "waiting" gameplay gates in skyblock play,
by allowing players to trade attention for time.  It seems it has
been exploited in vanilla play, though, by triggering the tickling
recipes far faster than they normally should be triggered by
hand, using doors, breaking the time cost balance of things like
leaching or growing trees.

Add a "cuddly" dig group to the hand, and ONLY the hand, and make
the tickling recipes use this group so they only work with the
player's actual hand.

N.B. this group can be used for other pummel recipes in mods,
where a gentler touch is needed that cannot be gotten from a tool
or a machine, such as petting animals.
2023-04-26 07:10:34 -04:00
Andrey Bienkowski
6e48431d6f Fix leaching
Pummeling raked dirt with a spade had no effect due to an error in the recipe
2022-11-15 17:14:13 +00:00
Aaron Suen
1da5ebcc7f Soaking tickle recipes require placed nodes 2022-01-23 16:51:39 -05:00
Aaron Suen
72e417e49d Soil leaching tickling recipe
Also, fix inability to push soaking for leaching
ABMs due to fieldname collision.
2022-01-15 14:07:51 -05:00
Aaron Suen
9116857cc0 Back out leaching particles
They're barely visible if at all, create a ton of
network traffic, and now inconsistent with
composting.  Trees are allowed to be a little
special.
2022-01-15 13:51:21 -05:00
Aaron Suen
5c812035c7 Dirt leaching particles 2022-01-15 13:39:12 -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
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
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