Files
settled-reach/content/global/krenn-rural-zone.ron
T
jpmschweitzerandClaude Opus 4.6 f44a105e96 feat(copy): restructure behavior primitives into zone-type templates (#661, D-142)
Move behavior_primitives from per-location zone specs into global
zone-type template files (content/global/zone-types/). Location specs
now declare zone_type and contain only metadata (role weights, social
sites, economic/density levels). Primitives are culture-neutral and
reusable across all 300+ systems. Scrub Krenn-specific language.

New files: rural_agricultural.ron, industrial_freight.ron
Modified: krenn-rural-zone.ron, krenn-industrial-zone.ron (metadata only)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:45:42 +01:00

45 lines
1.9 KiB
Plaintext

// Krenn Rural Zone — location metadata
//
// Schema: server/src/npc/blueprint.rs :: ZoneSpec
// Ticket: #609, #630, #661 (copy team)
// Validate: tooling/validate-ron content/global/krenn-rural-zone.ron zone
//
// Location-specific metadata for a Krenn rural agricultural settlement.
// Behavior primitives have moved to the zone-type template:
// content/global/zone-types/rural_agricultural.ron
//
// This file holds: zone_type reference, location metadata, role weights, social sites.
// The generator reads zone_type to find the primitive pool; overrides come from here.
//
// Character: scattered homesteads and small workshops. Unhurried. Community-bound.
// Low throughput, high familiarity. Everyone knows who belongs here.
(
zone_type: "rural_agricultural",
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,
// Role presence and weights for this location.
// skill_focus / combat_eligible / behavior_primitives live in the zone-type template.
role_weights: [
( id: "farmer", weight: 5 ),
( id: "mechanic", weight: 3 ),
( id: "trader", weight: 2 ),
( id: "militia", weight: 1 ),
],
social_sites: [
( site_type: "tavern", label: "Local Tavern", min_npcs: 3, max_npcs: 6 ),
( site_type: "workshop", label: "Community Workshop", min_npcs: 2, max_npcs: 4 ),
( site_type: "market_stall", label: "Settlement Market", min_npcs: 1, max_npcs: 3 ),
],
abandoned: false,
poi_overlay: None,
)