28 Commits

Author SHA1 Message Date
Aaron Suen
40e8d23a16 Proof of concept sand-raking nodes 2021-07-02 15:40:52 -04:00
Aaron Suen
e1dc632779 New lux tool infusion API
- Split infusion logic from tool registration
  so tools aren't depending on sharing local
  tables with infusion logic.
- Use alternative_lux_* fields on tool item
  registrations to control how lux infusion and
  boost/unboost applies to tools.
- It should now be possible to register tools
  independently that can tap into lux infusion
  and boost features.
- It should now be possible to make tools
  boostable, unboostable, and infusable all
  independently, so they don't need to support
  all those actions, and they don't need to
  round-trip from e.g. a boost/unboost operation.
- We no longer depend on a naming convention
  for boost/unboost pairs (though in practice we
  follow it in the core game, but mods are not
  required to).
2020-12-28 20:54:57 -05:00
Aaron Suen
aae1ed78bb Support unboostable infused tools
Just make sure the boost/unboosted item is
actually registered before trying to overwrite
the stack.
2020-12-28 00:31:51 -05:00
Aaron Suen
8624ee3a89 Fix lux rake durability issues 2020-09-08 21:23:03 -04:00
Aaron Suen
3915426d7b Add exclusive use for infused rake
Recalculate rake function based on update tool
capabilities so rakes can work on pumice now, and
theoretically even a future snappy=3 material.
2020-09-06 17:48:47 -04:00
Aaron Suen
6e9865487c Initial lux rakes
Operation on existing loose/snappy/crumbly stuff
is acceptable.  TBD is operation on pumice.
2020-09-06 17:25:03 -04:00
Aaron Suen
ef61cfffa6 Start work on buffing lux rad effect
Still needs more tweaking and testing
2020-09-04 14:58:32 -04:00
Aaron Suen
50c8dbf6a6 Adzes can now be metal too 2020-08-31 22:03:40 -04:00
Aaron Suen
50bcbee25e Circumstantial lux tool degradation 2020-08-31 20:35:40 -04:00
Aaron Suen
984e87e155 Consistent ABM labeling
- Make sure every ABM has a label
- Use consistent case
- More concise names / consistent voice
2020-06-17 07:09:20 -04:00
Aaron Suen
efe6900c19 Buff lux charge rate, nerf total capacity again
This should lower the gap between the SP and MP
experience, since generally tools recharge all day on
MP but only when playing for SP.

Nerfing lux tool capacity should reduce the tendency
to rely on lux for everything after a certain point.

As always, boosted lux is exempt.
2020-06-09 19:37:46 -04:00
Aaron Suen
7e065c8134 Nerf lux tool durability
These things are way too durable as they are, and it's
actually kind of game-breaking.  Players with lux
tools are in an entirely different class from players
without.

Instead, players should be forced to invest more in
lux reactors, or rely more on tempered lode as an
"everyday" tool and use lux for special projects.

Boosted lux is exempt from this nerf, and is now 4
times as durable as ordinary lux.  It might not be a
bad idea to allow them not to experience any wear
at all when boosted...
2020-06-07 22:26:28 -04:00
Aaron Suen
2cb09e21dd Buff lux tool radioactivity
Lux tools also glow a bit
2020-06-06 07:36:11 -04:00
Aaron Suen
3edf1b214c Add a way to access another tool tier
Lux resonance can boost tools by one more level!

This opens up some new opportunities for silk touch,
such as being able to relocate living grass.
2020-05-31 09:03:41 -04:00
Aaron Suen
509cf043d4 Distinct new look for lux infusion. 2020-02-20 22:14:29 -05:00
Aaron Suen
65d8a97d83 Recipe for renewable lux. 2020-02-05 07:16:22 -05:00
Aaron Suen
e2a5581085 Hint updates! 2020-01-21 21:19:30 -05:00
Aaron Suen
2c4e502c21 Soaking API requires explicit field name.
This guards against possible bugs caused by
running multiple conflicting processes on the
same thing.
2020-01-11 08:42:23 -05:00
Aaron Suen
04ea2d3a22 Make lux infusion asymptotic.
Infusion of worn tools is slightly faster, but drops off
quickly as tools are more full.  Lux tools can effectively
NEVER be perfectly unworn anymore.

This helps balance out lux tools, which, once
unlocked, were also obviating the need for proper tool
resource management, since they could recharge
so easily if you had a spare set in the reactor.

Now, players need to pay attention to which tools are
most/least worn, and keep the most worn ones
infusing to ensure the reactor resource is being used
most effectively.
2019-12-27 10:41:03 -05: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
dfecd6a99f Some more hint coverage. 2019-09-07 21:20:41 -04:00
Aaron Suen
0921e9991c More issue cleanup.
Comb through issues.  Shelve some of them.  Fix a couple.
Add some ideas and reorganize/recombine others.

Lux tools should infuse in any open container, so shelves should
work fine too.
2019-09-07 10:11:23 -04:00
Aaron Suen
3b25121324 Nerf lux tool durability.
3x the uses of lode was way too much.  1.5x before needing a
recharge sounds a little better.
2019-09-05 23:17:17 -04:00
Aaron Suen
cbf035e0d5 Finished Soaking API, converted trees and infusion to it. 2019-09-05 22:48:30 -04:00
Aaron Suen
253ccad3e2 Infuse slower farther from the source. 2019-09-05 21:31:16 -04:00
Aaron Suen
97884bc58e Flux must flow OVER tool to infuse. 2019-09-05 21:14:24 -04:00
Aaron Suen
befd1c0b67 Remove debugging code. 2019-09-04 19:04:07 -04:00
Aaron Suen
d9ff4f0406 Add Lux Flux fluid and Lode tool infusion. 2019-09-04 18:44:08 -04:00