Summary
Enrich building snapshot data with owner/occupant info, room assignments, and functional state (workshop jobs, tavern/temple assignments).
Why
Buildings are currently captured as type + name + position with no connection to who lives or works there. "Urist's legendary bedroom" and "the tavern run by Bomrek" add character to fortress descriptions.
Implementation
- Lua (storyteller-begin.lua): In the buildings loop, add:
building.owner (unit_id of assigned dwarf)
- Workshop job queue:
building.jobs count and current job type
- Room type for zones: bedroom, office, dining room, tomb
- Tavern/temple/library keeper assignment
- Python: Extend building data in metadata with owner_name, room_type fields.
- Legends overlap: Legends has site structures (temples, keeps) at a macro level. DFHack has individual room assignments. Complementary — legends provides "the temple of Armok" history, DFHack provides "Urist prays here daily."
Narrative value
"The fortress boasts 3 legendary bedrooms, a grand dining hall seating 40, and the Temple of the Granite Flame where high priest Bomrek leads worship."
Summary
Enrich building snapshot data with owner/occupant info, room assignments, and functional state (workshop jobs, tavern/temple assignments).
Why
Buildings are currently captured as type + name + position with no connection to who lives or works there. "Urist's legendary bedroom" and "the tavern run by Bomrek" add character to fortress descriptions.
Implementation
building.owner(unit_id of assigned dwarf)building.jobscount and current job typeNarrative value
"The fortress boasts 3 legendary bedrooms, a grand dining hall seating 40, and the Temple of the Granite Flame where high priest Bomrek leads worship."