Skip to content

[Data] Capture building owners, occupants, and room assignments #45

@Been012

Description

@Been012

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."

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestroadmapPlanned for future releases

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions