Files
settled-reach/content/global/rural-zone-spec.ron
T
jpmschweitzerandClaude Opus 4.6 10b1a4252e fix(copy): address PR #88 re-review comments
Name pool fixes:
- Remove "Korr" from given_names (duplicate with family_names), replace with "Tork"
- Replace "Narek" with "Sorek" (real-world Armenian name, IP concern)
- Replace soft "-ael" endings (Vael→Vrek, Rael→Rask) to match naming rules
- Update comment: "no soft endings" → "hard endings preferred"
- Add 2 family names (Tollek, Dass) to balance pool ratio (now 40/18)

Voice fixes:
- Replace "same drill" (not an exclamation) with "cold vacuum"
- Rewrite 3 trader behaviors as observable stage directions
- Add 2 foreman off-duty behaviors (person beneath the role)
- Add break room behaviors to dock_worker, technician, foreman

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 09:58:24 +01:00

120 lines
5.0 KiB
Plaintext

// Zone Identity Spec — Rural
//
// Schema: server/src/npc/blueprint.rs :: ZoneSpec
// Ticket: #609 (copy team)
// Validate: tooling/validate-ron content/global/rural-zone-spec.ron zone
//
// Character: scattered homesteads and small workshops. Unhurried. Community-bound.
// Low throughput, high familiarity. Everyone knows who belongs here.
//
// Generator contrast target: rural vs industrial (Sprint 25 proof).
// If these produce NPCs that look the same, something is wrong.
//
// Heritage roots (D-104/D-105) overlay these base specs at generation time,
// modifying role weights, social site composition, and behavioral flavoring.
(
zone_type: "rural",
label: "Rural Settlement",
description: "Scattered homesteads, small workshops, and communal gathering points. Low population density, strong community bonds, subsistence-plus economy. Work is seasonal and visible — everyone knows what everyone else is doing.",
// 1-10. Rural Krenn: self-sufficient, low cash flow, barter supplements credits.
economic_level: 3,
// 1-10. Sparse. Faces are familiar. Strangers stand out.
population_density: 2,
roles: [
(
id: "farmer",
label: "Farmer",
// Most common. The settlement runs on food production.
weight: 5,
skill_focus: ["technical"],
combat_eligible: false,
typical_behaviors: [
"tends rows of low-growing crops with a long-handled hoe",
"lifts a crate of produce onto a flatbed with practiced ease",
"checks the section's light cycle timer before deciding whether to water",
"patches a cracked irrigation pipe with strips of bonding tape",
"calls across a field to a neighbor without looking up from work",
"hauls produce to the market stall before the morning exchange opens",
"checks seedling trays in a low prefab greenhouse",
],
),
(
id: "mechanic",
label: "Settlement Mechanic",
// One or two per settlement. Everyone knows who to call.
weight: 3,
skill_focus: ["technical"],
combat_eligible: false,
typical_behaviors: [
"pulls a drive unit from a tiller and examines the worn housing",
"wipes grease on the thigh of her coveralls between jobs",
"explains a repair in clipped shorthand without looking up",
"lines up salvaged parts on a workbench and assesses them",
"welds a seam on a cracked water tank with slow, careful strokes",
"borrows a tool from a neighbor and returns it without being asked",
],
),
(
id: "trader",
label: "Itinerant Trader",
// Passes through. Outsider-familiar — not local, not stranger.
weight: 2,
skill_focus: ["persuasion", "observation"],
combat_eligible: false,
typical_behaviors: [
"squares goods on a fold-out portable display with deliberate care",
"leans back on a stool and watches the foot traffic",
"flicks credit chits across the counter with one thumb, barely glancing down",
"holds eye contact through a long pause, waiting for the price to land",
"watches a regular browse the same shelf as last time and says nothing",
"packs unsold goods with no visible frustration",
],
),
(
id: "militia",
label: "Settlement Militia",
// Rare. Part-time. Knows everyone, trusted because of it.
weight: 1,
skill_focus: ["combat", "observation"],
combat_eligible: true,
typical_behaviors: [
"walks the fence line at a measured, unhurried pace",
"leans on the gate post with rifle slung, watching the road",
"waves a familiar face through without checking credentials",
"sits in the shade of the gatehouse with a local newsline",
"stops to talk with a passing farmer, eyes still scanning the perimeter",
],
),
],
social_sites: [
(
site_type: "tavern",
label: "Local Tavern",
// The Last Shift equivalent for rural Krenn: functional, familiar, slow.
roles: ["farmer", "mechanic", "trader", "militia"],
min_npcs: 3,
max_npcs: 6,
),
(
site_type: "workshop",
label: "Community Workshop",
// Shared space. People fix things together.
roles: ["mechanic", "farmer"],
min_npcs: 2,
max_npcs: 4,
),
(
site_type: "market_stall",
label: "Settlement Market",
// Weekly or daily trading post. Commerce and gossip combined.
roles: ["trader", "farmer"],
min_npcs: 1,
max_npcs: 3,
),
],
)