119 Commits

Author SHA1 Message Date
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
23527e264b Artificial stone hardening process
Stone is hardened by creating an elecric field via the Peltier
effect that causes internal crystals to align.  Or something like
that.

Stone hardens over time when touching both lava and water.
All stratafiable stone types (lode sign, lode ore, lux ore) are
affected.
2020-06-04 08:09:30 -04:00
Aaron Suen
1b646d3f63 Try to enforce stone group sanity 2020-06-04 07:33:49 -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
920fba34ee Separate node stand/touch/radiant damage types
Don't reuse damage_per_second for damage on punch and radiant
damage.  This allows these to be defined separately, i.e. no longer
assuming that all damage is from "heat" and can radiate.  This
allows for things like thorny plants that hurt if you touch them
or stand in them but not if you stand near them.

Thanks to WintersKnight94 for reporting this.
2020-04-09 06:56:18 -04:00
Aaron Suen
94129d5067 Hack to let TP authors override inv/wield images 2020-04-05 20:35:51 -04:00
Aaron Suen
1c612ee1f7 Cobbley group, generic scaling factors by group 2020-03-29 08:05:13 -04:00
Aaron Suen
dfa8615200 Revert "Remove descritption from injury/burn."
This reverts commit 4a13733e68903904e088fe21d86dec6d927ee7d8.

While I'm still not happy with the desciptions, we probably need
some sensible way to talk about these in chat, wikis, etc.
2020-03-25 08:58:31 -04:00
Aaron Suen
4a13733e68 Remove descritption from injury/burn.
This always felt kinda redundant and the names
themselves never seemed all that great.

For Lux Burns in particular, I'd rather the radiation
symbol speak for itself.
2020-03-24 00:06:38 -04:00
Aaron Suen
12b6649a30 A little didying. 2020-02-27 19:12:07 -05:00
Aaron Suen
14fc9ecd8f Try to make cherenkov more specific. 2020-02-27 19:11:35 -05:00
Aaron Suen
65c21683a3 Fix burn/injury inventory/hand appearance. 2020-02-24 21:45:13 -05:00
Aaron Suen
c7a322941e Experimental new natural light system.
- No day/night cycle, no sun/moon.
- Get rid of clouds too.
- Skybox is now 100% texture-packable.
- Natural light diminishes with depth.

Night-time no longer disrupts gameplay topside, but
skylights are no longer useful to an infinite depth and
artificial light is necessary for all deep mining.
2020-02-22 10:38:03 -05:00
Aaron Suen
509cf043d4 Distinct new look for lux infusion. 2020-02-20 22:14:29 -05:00
Aaron Suen
68f1c34c3c Renew lode, given lux and some starting lode. 2020-02-05 08:55:13 -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
2d73df30e7 New API to check if air passes thru node.
Can be used for things like sponge air exposure
or environmental exposure checks.
2020-01-18 09:57:39 -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
4d47ab2e75 NC API dependency simplification.
Treat all API mods as a "layer", and use the new
nc_api_all registration to indicate that a mod depends
on the NC API (which ALL NC mods assume they do).
This means that each non-API mod does not need to
worry about which API mods it really needs and which
it does not, nor will they need to be updated for any
internal API restructures.

This is a game, not a modpack, so all mods will be
loaded anyway, and we only care about order.  That
means that we don't really need to worry about
having excess dependencies because any mod we
don't actually need will be needed by something that's
loaded anyway.  If somebody wants to reuse a
component elsewhere, they're likely to need to do
some work to untangle it anyway, because of the
amount that NodeCore mechanics interact and
interdepend.
2020-01-05 12:59:12 -05:00
Aaron Suen
dcfc80b367 Remove explicit names in mod.confs. 2020-01-05 12:38:45 -05:00
Aaron Suen
89020e8340 Major rebuild of item_entity.
This created a ton of dependency inversions, which
necessitated moving a number of API functions up into
higher layers, and restructuring dependency lists for
a number of mods.

BOLO: non-deterministic load errors due to missed
dependencies.
2020-01-05 11:42:22 -05:00
Aaron Suen
32e9c306b7 Attempt to create "fancy" hotbar.
Seems this doesn't actually work.  The hotbar image
MUST be a physical file, and cannot use any texture
modifiers, so sayeth the engine.
2019-12-31 11:06:35 -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
b6b483e82a Fix janky lux source removal. 2019-12-27 10:07:52 -05:00
Aaron Suen
22cbe8c430 Nerf lux reaction to require real cobble.
Starting up a reactor required 15 lux, but it could
be sustained using only ONE.  This was far too
exploity.
2019-12-08 23:27:54 -05:00
Aaron Suen
b180912f0e Run AISMs inside totes. 2019-12-04 08:30:37 -05:00
Aaron Suen
58d2be5410 Make some hot-potato items place on landing. 2019-12-01 12:57:35 -05:00
Aaron Suen
6e1f3fee94 Standardize intra-line spacing in code. 2019-12-01 11:08:12 -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
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
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
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
c147da4dde Convert from depends.txt to mod.conf 2019-10-05 11:24:16 -04:00
Aaron Suen
e48d306e98 Fix broken lux ore hard strata. 2019-09-15 07:32:06 -04:00
Aaron Suen
7e75fd149a Quote consistency. 2019-09-14 09:49:06 -04:00
Aaron Suen
dfecd6a99f Some more hint coverage. 2019-09-07 21:20:41 -04:00
Aaron Suen
92d0702e11 Make lux fluid NOT an igniter.
This is making managing a tool infusion system too tricky.
2019-09-07 12:44:52 -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
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
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