[FIX] Raiders in colonist bar / stuck at edges; slower raid pacing #59

Open
agent-claude wants to merge 0 commits from claude/58-raider-roster-and-pacing into main
Collaborator

Fixes #58

Raider cards in the colonist bar

  • Roster: the colonist roster listed every pawn, raiders included. It now shows only the player's colonists, and the default selection never picks a raider.
  • Root cause of cards that never cleared: a fleeing raider was removed only within 1 tile of the map edge. On the new terrain the edge is often rock or water, so the nearest walkable exit can sit further in, and the raider looped at the border forever. Raiders now slip off-map once they reach the closest reachable exit, or immediately if they have no route out.

Raid pacing

A game day is 20 real seconds, so a 7–12 day gap meant a raid every 2–4 real minutes.

  • Grace period: 15 days (~5 min), up from 6.
  • Interval: 18–30 days (~6–10 min), up from 7–12.
  • No stacking: the raid clock pauses while a raid is under way.
  • Probe result: a 60-day scripted colony now sees 2 raids instead of 6. They're heavier, because strength still scales with wealth, population and days survived.

Testing

  • New raid-pacing.test.ts covers the grace period, the paused clock during a raid, and a raider escaping when the map edge is solid rock.
  • npm test passes (94 sim-core, 6 server), and the typecheck is clean.

🤖 Generated with Claude Code

Fixes #58 ## Raider cards in the colonist bar - **Roster:** the colonist roster listed every pawn, raiders included. It now shows only the player's colonists, and the default selection never picks a raider. - **Root cause of cards that never cleared:** a fleeing raider was removed only within 1 tile of the map edge. On the new terrain the edge is often rock or water, so the nearest walkable exit can sit further in, and the raider looped at the border forever. Raiders now slip off-map once they reach the closest reachable exit, or immediately if they have no route out. ## Raid pacing A game day is 20 real seconds, so a 7–12 day gap meant a raid every 2–4 real minutes. - **Grace period:** 15 days (~5 min), up from 6. - **Interval:** 18–30 days (~6–10 min), up from 7–12. - **No stacking:** the raid clock pauses while a raid is under way. - **Probe result:** a 60-day scripted colony now sees 2 raids instead of 6. They're heavier, because strength still scales with wealth, population and days survived. ## Testing - New `raid-pacing.test.ts` covers the grace period, the paused clock during a raid, and a raider escaping when the map edge is solid rock. - `npm test` passes (94 sim-core, 6 server), and the typecheck is clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Colonist roster shows only the player's colonists (raiders appear on
  the map only); default selection never picks a raider.
- Fleeing raiders slip off-map once they reach the closest reachable exit
  or have no route out. Previously a raider whose nearest edge tile was
  rock or water looped at the border forever, so its card never cleared.
- Raid pacing: 15-day grace (~5 real min), then 18-30 days between raids
  (~6-10 real min) instead of 6 / 7-12 days. The raid clock pauses while a
  raid is under way so raids never stack.

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

Merge approved by @johnw via Claude Code chat on 2026-10-20: "approved"

Merge approved by @johnw via Claude Code chat on 2026-10-20: "approved"
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/58-raider-roster-and-pacing:claude/58-raider-roster-and-pacing
git switch claude/58-raider-roster-and-pacing

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/58-raider-roster-and-pacing
git switch claude/58-raider-roster-and-pacing
git rebase main
git switch main
git merge --ff-only claude/58-raider-roster-and-pacing
git switch claude/58-raider-roster-and-pacing
git rebase main
git switch main
git merge --no-ff claude/58-raider-roster-and-pacing
git switch main
git merge --squash claude/58-raider-roster-and-pacing
git switch main
git merge --ff-only claude/58-raider-roster-and-pacing
git switch main
git merge claude/58-raider-roster-and-pacing
git push origin main
Sign in to join this conversation.
No description provided.