[PR] Wildlife & hunting #65

Open
agent-claude wants to merge 0 commits from claude/64-wildlife-hunting into main
Collaborator

Fixes #64

What

  • Wildlife: RimWorld-style animals (deer, boar, hare) by biome. Each new map starts with two herds, and more migrate in over time.
  • Hunting: with a colonist selected, right-click an animal → Hunt. Armed colonists with the new Hunt work priority track it down and finish off downed prey.
  • Food: kills drop raw meat, and a new campfire bill cooks 3 raw meat into a stew.
  • Behaviour: boars charge when wounded, while deer and hares bolt.
  • Faction fixes: several checks treated "not a raider" as "colonist". They now check for colonists explicitly, so raiders, doctors, grief, the roster, work and schedule tables, and the population count all ignore animals.

Testing

  • New wildlife.test.ts (7 tests): biome spawns, grazing, hunting to meat (no grief, carcass cleared), boar retaliation, raiders and doctors ignoring animals, the migration cap, and meat stew.
  • Updated 3 tests that counted all pawns as colonists.
  • npm test passes (114 sim-core, 6 server), the typecheck is clean, and the client builds.
  • Checked the animal sprites (walk frames in both directions, lying pose) and the local save positions.

🤖 Generated with Claude Code

Fixes #64 ## What - **Wildlife:** RimWorld-style animals (deer, boar, hare) by biome. Each new map starts with two herds, and more migrate in over time. - **Hunting:** with a colonist selected, right-click an animal → **Hunt**. Armed colonists with the new **Hunt** work priority track it down and finish off downed prey. - **Food:** kills drop raw meat, and a new campfire bill cooks 3 raw meat into a stew. - **Behaviour:** boars charge when wounded, while deer and hares bolt. - **Faction fixes:** several checks treated "not a raider" as "colonist". They now check for colonists explicitly, so raiders, doctors, grief, the roster, work and schedule tables, and the population count all ignore animals. ## Testing - New `wildlife.test.ts` (7 tests): biome spawns, grazing, hunting to meat (no grief, carcass cleared), boar retaliation, raiders and doctors ignoring animals, the migration cap, and meat stew. - Updated 3 tests that counted all pawns as colonists. - `npm test` passes (114 sim-core, 6 server), the typecheck is clean, and the client builds. - Checked the animal sprites (walk frames in both directions, lying pose) and the local save positions. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Data-driven species (content/animals.json): Frontier Deer (skittish),
  Ridge Boar (retaliates when wounded), Dune Hare; spawned by biome.
- New maps start with two reachable herds; herds migrate in as a
  storyteller incident (cap 12 animals).
- Animal AI: graze, bolt when hurt/approached, boars charge the nearest
  colonist. Wildlife have no needs, aren't targeted by raiders, tended
  by doctors, mourned, or counted as population.
- Hunting: DESIGNATE_HUNT command (right-click -> Hunt), a Hunt work
  priority, hunters finish downed prey; kills drop raw meat and carcasses
  are cleared. New Cook Meat Stew bill (3 raw meat -> cooked meal).
- Client: procedural deer/boar/hare sprites with walk cycles, hunt
  markers, Hunt column in the Work window; colonist-only roster/tables.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Collaborator

Merge approved by @johnw via Claude Code chat on 2026-10-20: "Do what you see fit and I approve all changes to be merged and deployed"

Merge approved by @johnw via Claude Code chat on 2026-10-20: "Do what you see fit and I approve all changes to be merged and deployed"
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/64-wildlife-hunting:claude/64-wildlife-hunting
git switch claude/64-wildlife-hunting

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff claude/64-wildlife-hunting
git switch claude/64-wildlife-hunting
git rebase main
git switch main
git merge --ff-only claude/64-wildlife-hunting
git switch claude/64-wildlife-hunting
git rebase main
git switch main
git merge --no-ff claude/64-wildlife-hunting
git switch main
git merge --squash claude/64-wildlife-hunting
git switch main
git merge --ff-only claude/64-wildlife-hunting
git switch main
git merge claude/64-wildlife-hunting
git push origin main
Sign in to join this conversation.
No description provided.