peterix, I saw your post over in the Dwarf Therapist thread about the API. I'm definitely interested in experimenting with that, just to try out some ideas I have about designing a better Therapist-like UI. (I can't promise I will ever finish such a project, only that I want to try it.
) The API will make it much, much easier for me to do that.
I don't think the protocols required for such a thing to work are a huge mystery, but laying out the actual protocol data structures is an interesting challenge. For a dwarf, I would want this data at least:
- personal info: name, nickname, sex, caste, baby/child/adult, happiness
- profession, custom profession name
- attributes, skills, assigned labors
- some way of determining (or guessing) which migrant wave he arrived with
- military squad he belongs to, if any
- assigned position from the 'n'obles screen
For "edit" APIs, I would want to be able to:
- assign labors
- change custom profession name
- change nickname
- assign a dwarf to a military squad? possible/safe?
Getting live updates on each dwarf's current job when it changes would be interesting, too, but I don't know if it is practical performance-wise. I would be curious about some kind of "efficiency" metric for each dwarf.