16 Commits

Author SHA1 Message Date
Aaron Suen
7d41fc53c3 Door ablation check on load
Try to make sure doors don't have to wait arbitrarily long
for a patrol ABM to fire if their DNT was lost and they're
part of a stable circuit.  This seems to have caused some
sponge squeezers in particularly busy areas to stop for a
while when first loaded sometimes, which can interrupt
the water flow they provide, which can lead to a fire
hazard.
2021-07-09 08:18:55 -04:00
Aaron Suen
56379676af Massively simplified door conveyance
The old logic was extremely over-complicated, in
an attempt to allow door conveyance to work with
no gaps and support loops.  This led to code that
was unmaintainable, and a node deletion bug that
was too difficult to fix.

The drawback to the new approach is that things
cannot be pushed by doors into spaces that are
occupied by another thing, even if that thing will
be pushed out of the way by the doors on the same
cycle.  This means that chains of items on
conveyors will always have an air-gap between
them.
2021-07-05 10:19:24 -04:00
Aaron Suen
9a23e1f65f Separate press/catapult code 2020-09-29 21:13:31 -04:00
Aaron Suen
18b01c1ae7 Redistribute hints into each mod
Hints themselves have not been tided up
much, but this makes the project of fixing the
hints for each mod a little more manageable
and breaks up the hard-to-navigate single
monolithic hints file in the old guide mod.

The old guide mod has now been completely
retired.  Hints are now a full-fledged API-layer
standard feature.
2020-09-04 19:07:45 -04:00
Aaron Suen
20e4432598 Apply "press" recipes to nodes jamming doors.
Nodes need to have a "backstop" node of some kind
holding them in place.  Automatically convert all
thumpy pummel recipes to press recipes too.
2019-11-01 20:42:44 -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
4795a63116 Allow placing nodes against ends of doors. 2019-10-13 13:28:53 -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
7e75fd149a Quote consistency. 2019-09-14 09:49:06 -04:00
Aaron Suen
310ce1bc6c Treat NodeCore as a unified thing.
- Collapse all nodecore "core" mods in the /mods listing, so it's
  easier to find the actual add-on mods.
- Parameterize in-game branding to make renaming derivatives just
  a little easier.
2019-09-07 09:08:57 -04:00
Aaron Suen
e5343addd2 Double doors and gears. Update docs. 2019-08-13 22:53:20 -04:00
Aaron Suen
05ac51dafc Fixed description. 2019-08-13 22:09:12 -04:00
Aaron Suen
7431453ad7 Door rotation logic.
Shockingly it WORKS.

Does not yet interact reasonably with a lot of terrain (should
arguably push liquids, falling nodes, items, etc.) or entities
a(i.e. should arguably push players).
2019-08-13 22:02:02 -04:00
Aaron Suen
86cc55c12b Basic door node setup and recipes.
- Craft door panels by chiseling with a rod.
- Rotate door panels.
- Hammer in rod to act as hinge pin.
- Dig out hinge pin, dig up panel.
2019-08-13 21:06:13 -04:00