Fish per water type in data/fish.json; worldlets design

- data/fish.json: fish, weights, dawn/dusk odds, bite timing and minimum
  depth per water type; ItemDB.define_water() registers them
- world.water_at(x, z) answers lake / sea / dry land; the float uses it,
  so a worldlet with a sea only needs a "sea" entry
- Clear messages for shallow water and water with nothing to catch
- Lake fish: more of them, bigger, nearer the shore, jumping with splash rings
- docs/WORLDLETS_DESIGN.md: proposal for data-defined world types
This commit is contained in:
Paul Bailey
2026-11-04 11:41:04 +00:00
parent f174221268
commit 4630ea5d44
7 changed files with 294 additions and 19 deletions

View File

@@ -218,7 +218,10 @@ Built in M1b (`scripts/player/survival.gd`), current numbers:
just reels in. Walking more than about 30 m off snaps the line, and
switching away from the rod reels in.
- Catch: perch (common) and trout (22%, or 40% at dawn and dusk). Grill
them at a campfire. A few fish swim visibly in the lake.
them at a campfire. A few fish swim visibly in the lake, and some jump.
- Fish, weights and bite timing live in `data/fish.json` per water type.
The float asks `world.water_at()` what it landed in (lake, sea...), so a
worldlet with a sea only needs a "sea" entry there (docs/WORLDLETS_DESIGN.md).
### 2.8c Mixed diet *(built)*
Every food belongs to a group: **meat** (raw meat 8, cooked 40), **fish**