Pawn roles on the pawn record #74

Open
opened 2026-09-07 20:37:24 +01:00 by liamjd · 1 comment
Owner

Part of milestone #5. Depends on #77 (milestone #4), which introduces the Pawn record separate from the PawnView scene.

Pawns need a role for specialisation weighting (#69). Keep it data, not behaviour.

AC:

  • A role field on the Pawn record using the same enum as Task.required_role
  • The pawn id from #77 is what tasks reference as their assignee, so no node is held
  • Spawned pawns get a role (for now, alternate BUILDER and HAULER, or random from the seeded RNG #77 already uses)
  • Debug panel shows each pawn's role
Part of milestone #5. **Depends on #77** (milestone #4), which introduces the `Pawn` record separate from the `PawnView` scene. Pawns need a role for specialisation weighting (#69). Keep it data, not behaviour. AC: - A `role` field on the `Pawn` record using the same enum as `Task.required_role` - The pawn id from #77 is what tasks reference as their assignee, so no node is held - Spawned pawns get a role (for now, alternate BUILDER and HAULER, or random from the seeded RNG #77 already uses) - Debug panel shows each pawn's role
Author
Owner

Added by #142 (decision 3, 2026-10-10): the inspector panel ships without a role row because pawns have no role yet. When this lands, add:

  • The inspector panel (#142) shows the selected pawn's role, as a "Role" row from InspectorPanel.pawn_rows().
Added by #142 (decision 3, 2026-10-10): the inspector panel ships without a role row because pawns have no role yet. When this lands, add: - [ ] The inspector panel (#142) shows the selected pawn's role, as a `"Role"` row from `InspectorPanel.pawn_rows()`.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
liamjd/UntitledColonyBuilder#74
No description provided.