117 Commits

Author SHA1 Message Date
Aaron Suen
6810f7f6f3 Don't publish webps 2024-08-23 13:40:06 -04:00
Aaron Suen
496bb0d5c0 Re-clean transparent areas in images 2024-08-22 07:17:15 -04:00
Aaron Suen
b5170b1b75 Image filters and optimization 2024-08-22 06:52:50 -04:00
Aaron Suen
5e0d2bdb05 Guard against a rare crash on corrupted longcats
nc_cats/nodeapi.lua:67:
bad argument #5 to 'from_table' (string expected, got boolean)

As far as I can tell the only way this can happen is if it
somehow fails to find the correct metadata in a longcat tail, but
I haven't found a way to reproduce this problem yet.
2024-08-15 07:05:16 -04:00
Aaron Suen
546f8826f3 Add cubes of cat fluff
Compact storage nodes for cat prills
2024-07-28 17:12:34 -04:00
Aaron Suen
d017cf8ed3 Convert CDB screenshots to webp 2024-07-27 13:44:10 -04:00
Aaron Suen
91175ace30 Generate all mapcolors 2023-12-02 15:16:52 -05:00
Aaron Suen
2b85eb9dcd Change spawn requirements for the special cat
Instead of a bunch of sketchy math, just straightforwardly require
at least one of each pre-defined (i.e. not later expansion mod)
cat types in the area to be eligible to spawn one, and use a
relatively low probability.
2023-06-05 20:47:21 -04:00
Aaron Suen
91fa6bc8a7 Hints, make rare cats rarer 2023-06-05 20:14:00 -04:00
Aaron Suen
cdde825c0b Code cleanup 2023-06-05 20:05:13 -04:00
Aaron Suen
6b6e46301a Cap spawn probabilities
Even if you have a lot of cats or flowers to influence the spawn
rates of rare cats, you'll still get a lot of the "common" cat
types anyway.
2023-06-05 19:56:46 -04:00
Aaron Suen
31f23a2945 Merge branch 'rainbow' into morecolor 2023-06-05 19:45:04 -04:00
Aaron Suen
10b76deff8 Add colors based on flowers 2023-06-05 19:23:06 -04:00
Aaron Suen
3a1f27aa48 Fix spawn logic
- Fix broken probability function
- Make sure custom prob functions don't spawn longcat pieces
- Make cats fall upon hatching
2023-06-05 19:19:53 -04:00
Aaron Suen
b8e6b4fca3 Break nodes into API and definitions 2023-06-05 18:44:33 -04:00
Aaron Suen
b2e108b8a9 Make overlays customizable too
Allows cats with custom faces, paws, etc. to be defined via API.
2023-06-05 18:41:56 -04:00
Aaron Suen
5d925c27f2 Fix capitalization 2023-06-05 07:35:01 -04:00
Aaron Suen
74235657cb Merge branch 'master' into rainbow 2023-06-05 07:34:45 -04:00
Aaron Suen
5bff80d6ff Use actual descriptions and compute names from descriptions 2023-06-05 07:34:21 -04:00
Aaron Suen
0ad3920e84 Merge branch 'master' into rainbow 2023-06-05 07:29:42 -04:00
Aaron Suen
28d039a5d5 Use names instead of numbers to identify cats
This makes it far easier to expand cats externally without
collisions in a linear number space.  Instead of using group
IDs, just add a name tag to the def to find cat ID.
2023-06-05 07:26:55 -04:00
Aaron Suen
69e3ed8035 Fix API when used by downstream mods 2023-06-05 15:44:56 -04:00
Aaron Suen
a56100432f Fix API when used by downstream mods 2023-06-05 07:15:01 -04:00
Aaron Suen
071e656f5a Merge branch 'master' into rainbow 2023-06-04 22:06:22 -04:00
Aaron Suen
52e9a0250d Fix custom spawn logic overridability
Allow the custom function to override, not underride, the
standard definition.
2023-06-04 22:04:39 -04:00
Aaron Suen
e753fed2c0 Fix code format 2023-06-04 22:03:31 -04:00
Aaron Suen
c36b3eda5f Give cat textures a little HSV noise
Upon close inspection, it was a bit uncannily unnoisy.
2023-06-04 22:00:39 -04:00
Aaron Suen
13249753f8 Made rainbow tiling and longcats work
Sacrificed having an even rainbow on all faces; now it's just
the sides.
2023-06-04 21:55:10 -04:00
Aaron Suen
4ffad38408 First attempt at a rainbow cat
Normal cats look okay, but the longcat for it doesn't.
2023-06-04 21:46:18 -04:00
Aaron Suen
e711440984 Public API for easy registration of new cats 2023-06-04 20:35:38 -04:00
Aaron Suen
77a852c73d Switch from group-based spawning to callback-based
Even more control for modders, allowing custom cats with fully
custom spawn probability logic, so they can have special
hatching requirements to spawn at all.
2023-06-04 20:18:20 -04:00
Aaron Suen
43cb46a661 Change cat selection to be group-based
This allows registering new cats (or other things) that can spawn
as part of cat hatching (or other forms of random cat generation).
2023-06-04 20:03:37 -04:00
Aaron Suen
1b2c11476b Fix texture misalignments on adjacent faces 2023-06-04 19:52:01 -04:00
Aaron Suen
bacfc3c5b0 Record birth/creator info for cats
There is currently no use for this data (it is not displayed) but
could be used by mods, or future functionality could be added to
use it.  For now, though, we need to start capturing this data or
else it won't exist for existing cats when those new features are
enabled.
2023-05-31 19:07:31 -04:00
Aaron Suen
5f7a5e7b27 Merge branch 'master' into 'master'
Fix texture modifiers relying on undocumented behavior

See merge request sztest/nc_cats!1
2023-05-28 17:53:58 +00:00
Lars Mueller
28eae5e2c5 Fix texture modifiers relying on undocumented behavior 2023-05-28 12:50:02 +02:00
Aaron Suen
97a04d8a5e Cats can be "brushed" with a rake too
This allows for automated cat petting once
again, but not trivially like before.  Provision for
the tool, AND activation timing, is needed now.
2023-05-20 09:51:37 -04:00
Aaron Suen
e4835417b5 Skip particles on fully occluded faces to conserve packets 2023-05-19 20:15:04 -04:00
Aaron Suen
cd5ea51967 Heart particles while cats are purring 2023-05-19 20:11:15 -04:00
Aaron Suen
89dfd5313a Cats purr only once when petted by machine
Currently there is nothing in the mod or the base game that allows
a cat to be petted by a machine, but I'm considering adding a
brush or allowing the use of rakes or something to make it
automatable, with deliberate planning.

Making the cat only purr once makes it feasible to automate the
machine even if a player is around because a machine that works
only once every 2 seconds will reliably trigger cat purring
without actually digging the cat.
2023-05-19 19:34:28 -04:00
Aaron Suen
9faab1583b Reduce area loading requirement 2023-05-15 20:12:43 -04:00
Aaron Suen
69e6ade970 Cats wet nearby concrete when supported by base game 2023-05-13 22:37:05 -04:00
Aaron Suen
f06d3881e1 Fix misnamed silk touch attribute 2023-05-13 19:10:09 -04:00
Aaron Suen
900de78305 Cat ore should never be silktouch at all 2023-05-13 14:43:03 -04:00
Aaron Suen
388019612d Checkfacedir as public API, and upon creating a cat 2023-05-05 20:35:31 -04:00
Aaron Suen
570a634ec8 Disallow machine-petting
...on relevant versions of NC that support the "cuddly" group.

More automated ways to get furballs from cats MAY be supported, but
it probably doesn't make sense to use the "petting" mechanic,
especially since it only ever worked as long as a player is within
5m of the cat anyway.

Maybe something involving a brush/rake?
2023-04-26 07:25:31 -04:00
Aaron Suen
627adce2ee Don't drop unsoftened ores 2023-04-22 19:42:53 -04:00
Aaron Suen
e65a99b398 Make cat coccoons meow when maturing
The "stone tap" sound they make is too subtle
and too easily lost in ambient noise.
2022-12-27 10:52:46 -05:00
Aaron Suen
edb959b7c2 Idea 2022-11-30 20:05:52 -05:00
Aaron Suen
a885120d2f Fix cat facing direction on "darkcore"
Air is not necessarily sunlight propagating, so
allow cats to face any direction that faces air,
even if it's "opaque".
2022-11-04 00:07:37 -04:00