90 Commits

Author SHA1 Message Date
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
065bef313c Remove retired virtual item icons 2020-09-05 09:33:20 -04:00
Aaron Suen
94440b3912 Add a HUD for incident radiation 2020-09-05 09:32:02 -04:00
Aaron Suen
66d1a5fe34 Buff lux exposure rate even more 2020-09-05 09:16:39 -04:00
Aaron Suen
d35819b9af Merge branch 'dev' into luxbuff 2020-09-05 08:59:37 -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
ef61cfffa6 Start work on buffing lux rad effect
Still needs more tweaking and testing
2020-09-04 14:58:32 -04:00
Aaron Suen
5c73331ec2 Remove description for burn/injury
These are no longer actually "items" in the
player's view, but states of the hotbar slots
themselves...
2020-09-04 13:58:46 -04:00
Aaron Suen
5b2e61be75 Merge branch 'dev' into fancy_hotbar_9271_fixed 2020-09-04 12:29:08 -04:00
Aaron Suen
6cd356c191 Remove explicit node non-diggability
This opens up the possibility of mods adding
tools that CAN dig some of these more exotic
things.
2020-09-02 08:21:46 -04:00
Aaron Suen
53c7a0c87c Add missing texturepack override textures. 2020-08-31 23:30:06 -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
78d321c24f Support explicit TP overrides for special_tiles
Hughes Ross has started to work on a PR for this
(https://github.com/minetest/minetest/pull/10140)
but it doesn't look like it will be ready until 5.4 at
least, and we will support pre-5.4 versions for
some time yet.  The ability for TP artists to
override special_tiles is necessary to allow things
like flowing liquid textures to be customized in
texture packs.

Add a hack for these, similar to how we did the
inventory/wield image hacks.

Note that we are also forcing overrides for special
tiles, since there may be cases where we reuse a
base image without modifiers but TP artists may
still want an independent override.
2020-07-04 19:25:37 -04:00
Aaron Suen
b2f78c0daa Indexing for craft checks
By restricting the recipes we check based
on the name of the central object being
checked, we can do many fewer craft
checks per item and avoid expensive
checks.
2020-06-27 12:20:35 -04:00
Aaron Suen
42f125c716 Make most recipes indexable
Register a "rootmatch" property for all
recipes that represents a broader, quicker
test for recipe eligibility.  False positives are
allowed but false negatives are not.

Since most recipes are eligible, we can
use this to build an index for fast lookups
of subsets of recipes to run and skip most
of the other ones.
2020-06-27 11:06:43 -04:00
Aaron Suen
1d05d0bd41 Remove redundant lux reaction check 2020-06-25 07:41:25 -04:00
Aaron Suen
0929d007ce Use nodecore.interval where appropriate
Fixes deprecated get_connected_players() at load time issue
2020-06-23 06:43:34 -04:00
Aaron Suen
3657ee862f Lux fluid should not make gravel sounds 2020-06-21 01:40:13 -04:00
Aaron Suen
f7fd09a04a Fix deprecation warning 2020-06-18 07:23:11 -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
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