852 Commits

Author SHA1 Message Date
Aaron Suen
9dee17440e Cannot write on more surfaces.
Don't allow writing on surfaces of nodes that can transmit
light, which includes:
- Glass, which is too slick.
- Non-solids like frames, shelves, totes, which aren't flat enough.
2019-10-30 07:32:25 -04:00
Aaron Suen
42cc3a1632 Fix floating glyphs sticking to air. 2019-10-30 07:29:29 -04:00
Aaron Suen
11314033e8 Rake tool easily cleans up messes. 2019-10-29 23:20:09 -04:00
Aaron Suen
fdd881ae53 Active ItemStack Modifier overhaul.
AISM's now tick against stacks, including in piles, shelves,
and player inventories, (hopefully) efficiently compared to
the old way with separate ABMs.  Item entity support is also
possible, but not necessary yet.

This started out as a bugfix for being able to put a torch inside a
shelf, which didn't make much sense gameplay-wise.  It ended up
going quite a bit further.

- Aggregate now gets wet in stack form.  Swimming with dry
  concrete now has consequences.
- Lux reactions, radiation, and infusion should now behave more
  consistently.
- Sponges can now wet or dry in stack form, including inside
  containers.
- Torch ignition, quenching, and extinguishing is now more
  consistent regardless of context, and torches are now more
  dangerous, and can ignite things in more contexts.
2019-10-29 20:03:18 -04:00
Aaron Suen
afcce4d05d Start Active ItemStack Modifiers. 2019-10-29 07:12:01 -04:00
Aaron Suen
36f614035a Weblate updates. 2019-10-27 12:09:56 -04:00
Aaron Suen
8965ae23f7 Hint coverage update. 2019-10-27 10:25:54 -04:00
Aaron Suen
e5f54b49f6 Add witness system for cooking/soaking recipes. 2019-10-27 10:05:57 -04:00
Aaron Suen
82787786db Door recipe simplification.
- No graphite lubrication needed.
- Just insert pin instead of pounding it in.
- Pins must be inserted into end face.
- Node will not spin from using pin on wrong face.
2019-10-27 08:34:33 -04:00
Aaron Suen
ac77b41af5 Revert "Scaling overhaul."
While this makes scaling a little easier to do, it still doesn't
fix the fundamental problem of scaling being distracting and too
easy to trigger accidentally.

The "pummel" version of scaling caused some confusion when one
player accidentally triggered it trying to figure out how to get
lode out of lode ore.  The current one triggers accidentally all
the time just from tabbing out of a game with it running (e.g. it
isn't paused in multiplayer) leaving the character staring at a
wall.  While such a player WOULD have opportunity to find
handholds in the wall, we aren't differentiating between a player
who's scrutinizing a surface from one staring off into space.

The scaling needs to be made harder to trigger accidentally, like
reinstating the need for an empty hand.  Using a right-click
action may also help distinguish it from pummelng recipes.

Removing this from the alpha branch so players don't get too
accustomed to this functionality and then have it change AGAIN.

This reverts commit 943604cf9588a316dce19e0a60a4219b52c4d905.
2019-10-24 20:16:37 -04:00
Aaron Suen
943604cf95 Scaling overhaul.
- Remove pummel recipes.  Now find handholds just by
  staring at a particular spot.  Being closer or better focused
  helps.
- Use only particles instead of a facedir node, so facedir
  isn't a problem when adjacent to multiple walls/ceilings.
- Automatically upgrade "wall" climbing to "overhang" climbing
  when a ceiling is present.
2019-10-22 01:31:09 -04:00
Aaron Suen
ec723ea6d2 Tree growth requires adequate light and space. 2019-10-19 11:00:18 -04:00
Aaron Suen
1e2edf3f95 Make totes recyclable.
Fix minor tote recipe bug, too (make it work with
metal crates too).
2019-10-16 20:02:03 -04:00
Aaron Suen
828f4a06d9 Try to fix faling node columns.
Before, settling was being processed out of order, so nodes could
fall into the space of nodes below and kick them out as items, so a
solid column of nodes could collapse and eject some nodes as items.
This makes hopper-feeding systems a pain to use.

Instead, explicitly signal upwards (tail-recursive) to settle all
falling nodes on the same tick, since they should already be falling
and accelerating downwards in lock-step.

This isn't perfect, as there are possible race conditions with things
being added into the node-space of the falling column while it's
falling, but it seems to work for now...
2019-10-15 20:35:26 -04:00
Aaron Suen
4dfc98eaa0 Fix a long-standing inconsistency in repose logic.
In the earliest days of the game, repose was added, and at the time it
seems that the intent was to have nodes "roll" off of their perches.
This caused problems though with tree leaves wandering an unlimited
distance down grassy hillsides, so it was changed so that repose
nodes could only roll off of loose/falling nodes that were able to "tilt"
to let the above nodes come off.  Because of this, the implied action
here seems to have changed from "rolling" to "sliding", so the extra
ceiling clearance is no longer necessary.
2019-10-15 19:13:37 -04:00
Aaron Suen
96e653a5b3 Minor screenshot update, some image optimization. 2019-10-15 07:13:11 -04:00
Aaron Suen
749169a10b Subtlize and overall nerf radiation accumulation rate. 2019-10-14 19:52:19 -04:00
Aaron Suen
c8b7b8b8c8 Include fluid texture building script. 2019-10-14 07:12:46 -04:00
Aaron Suen
22f24f7444 Buff water attenuation, add attenuation for all other materials. 2019-10-14 06:19:45 -04:00
Aaron Suen
88292e402b Lower lux tool radiation rate significantly. 2019-10-14 06:13:48 -04:00
Aaron Suen
f9a1996811 Limit lux radiation distance, water attenuates significantly. 2019-10-14 06:11:50 -04:00
Aaron Suen
bc11435786 Drop more pre-raycast MT support. 2019-10-14 05:56:18 -04:00
Aaron Suen
608742522f Add limited support for the enable_damage setting.
If disabled, players can still accumulate radiation poisoning,
but they won't lose inventory space for it.
2019-10-13 14:32:25 -04:00
Aaron Suen
f6102b9512 Revert "Allow placing nodes against ends of doors."
There are other situations where we right-click on things and
expect a non-placement action, and that action fails.  We should
probably be more consistent about not placing in these cases, as
players may be surprised by it, and be left in trouble due to
not having a tool to dig it back up.  Requiring sneak is safer.

Now technically shelves violate this principle, but their
violation is much narrower in scope, i.e. only placement of
containers.

This reverts commit 4795a63116782fe47e72847dd308468a345b9369.
2019-10-13 13:35:49 -04:00
Aaron Suen
70388c4ceb Item duplication bug. 2019-10-13 13:30:47 -04:00
Aaron Suen
4795a63116 Allow placing nodes against ends of doors. 2019-10-13 13:28:53 -04:00
Aaron Suen
fc0ef548e5 Doors prefer centrifugal movement. 2019-10-13 13:10:42 -04:00
Aaron Suen
af1f808c68 Fix player health FX auto-scaling.
Guarantee 2 usable slots no matter how many different
injury effects accumulate.

Filled slots will be shared among different damage types
roughly proportionally.
2019-10-13 12:57:57 -04:00
Aaron Suen
af42914d86 Oops, fix missing dependency, texture name. 2019-10-13 11:39:00 -04:00
Aaron Suen
402f0150b7 Lux Radiation, and player healthfx API. 2019-10-13 11:37:36 -04:00
Aaron Suen
2a77e6a852 More liberal lux cobble hint detection. 2019-10-13 10:21:30 -04:00
Aaron Suen
a4f53947a2 Official issue number. 2019-10-13 09:38:07 -04:00
Aaron Suen
8cffc156ba Workaround for another builtin bug. 2019-10-13 09:31:22 -04:00
Aaron Suen
4eb4e80bc7 Fix log splitting. 2019-10-13 09:19:08 -04:00
Aaron Suen
c32c32ed55 Bugfix for tree growth.
Dirt was repacking around planted eggcorns, killing them.
2019-10-12 17:09:42 -04:00
Aaron Suen
3b546ef2ee Tree trunks fall, dig to logs, logs rotate. 2019-10-12 11:41:07 -04:00
Aaron Suen
1c40762eae Further optimize large images. 2019-10-11 19:52:11 -04:00
Aaron Suen
984947830a Fixed water texture error. 2019-10-11 19:49:35 -04:00
Aaron Suen
ed2a9e9573 New experimental animated liquid textures.
These are based on the nodecore "honeycomb", so they should at
least thematically match the other textures somewhat, even if
they're not super-attractive.
2019-10-11 19:40:34 -04:00
Aaron Suen
522a4c0de5 Laser ablation door operation.
This now allows optics to interact with doors, tying the two
systems together.
2019-10-11 08:34:50 -04:00
Aaron Suen
252d167544 Back out falling-node operation.
Falling nodes themselves are too unstable, so players should not
be encouraged to build machines that perpetually put nodes into
that state and destabilize the game.  Testing has led to some node
duplication exploits.

Leave the door operatoin rate nerf in place, though, since it will
help keep a lid on traffic.
2019-10-11 01:29:47 -04:00
Aaron Suen
feb9c5016d Nerf door op rate, falling node operation.
Also:
- Persist door squelch data.
- Work around crush damage logic issue...?
- Try to reduce unnecessary network packets?
2019-10-11 01:14:00 -04:00
Aaron Suen
f44f9941bb Fixed last known conveyor issue. 2019-10-11 00:22:32 -04:00
Aaron Suen
13a3c37d55 Better conveyor support.
Items riding a gear can "turn outward" if they hit a wall.
Unfortunately this creates a divergence in the tracing path,
causing "bubbles" to appear in solid conveyor trains.
2019-10-11 00:20:14 -04:00
Aaron Suen
1152a6885a Allow moving doors to push loose items.
There are a couple of large glaring limitations:
- Items are only pushed after doors operate, so can block doors.
- No "secondary direction" allowing items to migrate out, making
  practical conveyor belts unncessarily difficult.
2019-10-11 00:04:21 -04:00
Aaron Suen
b6168151bf Style consistency.
Avoid redefining tables on every call.
2019-10-06 12:06:36 -04:00
Aaron Suen
1fbad4ad70 Buff torch firestarting ability. 2019-10-06 11:29:46 -04:00
Aaron Suen
d0ef7ab3ad Use torches for super-easy firestarting. 2019-10-06 11:26:30 -04:00
Aaron Suen
fb0aecaaea Make all loose nodes self-repack over time. 2019-10-06 11:22:56 -04:00
Aaron Suen
54e6ef9019 Fix door digging issue. 2019-10-06 10:37:15 -04:00