First up - some feedback.
- 'Uniform equipment skill' is shield user and armour user. Did not notice anything wrong here.
- Yes I think the demonstration activity would better use 'name' rather than 'noun' if that can be changed independently. (I did not locate an instance of this to check though.)
More generally I like all the changes - no surprise there
- but particularly the one you raised above. It all looks good, to me.
Going through a detailed comparison brought four more suggestions for changes. I'm tempted to try and do a couple of the simpler ones myself but every time I peek at the code it scares the bejesus out of me. Feel free to point out the simplest ones for me (keeping in mind the profound ignorance out here in userland
). The long final one is definitely not for me, though it could be interesting for someone who was keen to write a new section of code.
1) Reduce the 'spacer' sizes on the dwarf tooltips. Can easily see 2-3 lines could be saved and maybe 5-6. Space is a premium here as looking at a save from an older fort confirmed -thanks, Fleeting Frames.
(No doubt having lots of social skills brought it home.) Don't want it to look ugly but where there are already indented sections perhaps there is no need for an empty line before or after them. Or if there is maybe a smaller font size can be used just for those lines? Concretely I think an empty line could go from above and below the Preference section and above the Skills section. Probably also above Caste, and possibly below end of Top Roles list. In places where empty lines remain can they be small font size? But it must still look okay.
2) Another suggestion is to replace on the dwarf tooltip the 'Highest moodable skill' line with the name of the artifact created for dwarfs who have already mooded. It would both save one line in the tooltip, in these cases, and allow for seeing that that dwarf is no longer a candidate for a mood. So move the line 'Creator of <artifact_name>' to overwrite the highest moodable skill in the tooltip when <artifact_name> is not null.
3) Probably by far the easiest (and that I should learn for future reference anyway) but worth getting some feedback in case I am missing something - remove the Social-alt gridview from the default set. As far as I can tell Social and Cultural now nicely covers the skill parts and the rest is no longer relevant, most traits having changed years ago and additionally having out of date references.
4) Okay now for the big one. This departs from the comment in the pull change - trait "Can(not) be a %2". I remember this from before (the old Social gridview if memory is correct) but I was unable to see/find it with either 38.1 or the skill_names test build. I had dwarfs with relevant trait scores (see below) and checked both Social & Cultural and Social-Alt gridviews without finding it. I suspect that it is not 'attached' to any gridview (or have I just missed it?). It was a useful piece of information to have and would integrate well with the Social and Cultural grid view. Unfortunately we do not have comprehensive information about the current conditions for 'can(not) be a x'. The best I know of is
http://dwarffortresswiki.org/index.php/DF2014_Talk:Personality_trait which while in general correct* is far from complete. (Flatterer is no longer blocked by friendliness level.) Summary of link with my corrections:
Liar isn't based off of a personality facet per se, but beliefs. Because of dwarves' [VALUE:TRUTH:30] entity token, this means most dwarves can't learn liar. Those I've seen that can explicitly do "not particularly value the truth."
Consoler seems to be tied to the CRUELTY facet. A dwarf with cruelty > 75 won't learn consoler at all.
Comedian is likewise tied to the HUMOR facet. A dwarf with humor < 25 won't learn comedian.
Intimidator appears to be tied to both the DISCORD and ASSERTIVENESS facets. A dwarf with discord < 25 or assertiveness < 25 won't learn intimidator.
Persuader is also tied to the ASSERTIVENESS facet. A dwarf with assertiveness < 25 won't learn persuader.
Pacifier is tied to the DISCORD facet. A dwarf with discord > 75 won't learn pacifier.
Conversationalist is tied to the GREGARIOUSNESS facet. A dwarf with gregariousness < 25 won't learn it.
p.s. If anyone has further information, or if I have got anything wrong then please let us know.
(My suspicion [aka strong hypothesis] is that in addition to the trait requirements beliefs can also at times block acquistion of social skills.) Further I suspect that splinterz never updated the conditions after the changes to traits and perhaps disabled the function (vague memory of some comment way back when about disabling them, but I could be wrong)? Assuming that I am correct we could leave it disabled or alternatively we could use the partial information as adapted above to provide what we can (until someone provides better). Another option would perhaps be to only show cases where a dwarf cannot acquire a skill, since that should never be incorrect information. What do you think? I tell you what I think below...
But wait it gets bigger (feature creep on an unimplemented feature, go userland!) furthermore I believe that having a
gridview displaying beliefs would be useful. Another case which springs to mind is scholars - 'Views the pursuit of knowledge as deeply important' sounds like a good thing for them and the reverse not so much. As a minimum if we had this new gridview we could start to more easily inquire into effects like these, or alternatively presume that they exist and act in accordance. Currently (only?) the more extreme cases of beliefs are mentioned in the dwarf toolip (not elsewhere, unless again I am missing it). Of course this would lead (creeping on the creep) to the additional desire to include the possibility of specifying beliefs as criteria for roles...
And yes I am totally serious. This is how features like the roles got added and developed into the useful tools that they are today - everlasting thanks to splinterz. But not all at once. Step one - add traits back in for 'cannot be a x' purposes. (Yes, I think this should only be displayed where the conditions block possible skill acquistion: we are on more solid ground and it allows the user to raise the question of why dwarf might still not be getting the skill even when it does not say that they are blocked.) Step two - create a gridview for beliefs and populate with dwarf data. (Bonus if someone, in userland, uses the new functionality to supply the missing conditions for social skill acquistion/blocking.) Step three - enable the use of beliefs as input when defining/calculating roles.
Thoughts any/every-one?
* For the sake of completeness I should add that
very rarely dwarfs are able to bypass the blocking conditions for social skill acquistion but practically we may ignore it for our purposes here.