So since Toady added all the random things dwarves have to do to be focused, im having problems. I tend to like playing the same fortress for a very long time.
So all of my best, earliest dwarves are now "badly distracted" by various needs I have no control over. Certain ones I have found ways to fix in-game, such as making tons of bone bracelets and creating pointless hauling jobs so they all "acquire items" etc.
BUT:
I can't feed them mantis brains or let them see their non-existent family, i cant even reliably get them to go pray even though I have massive temples to each of the gods my civ worships, some of them want to "cause trouble" and yet wont go start bar fights because there is no way for me to MAKE them fight someone. This is a big problem for my fort.
So I tried to fix it several ways using DFhack and found the commands very lacking and crippled by bugs. Fussed around a bit to fix it as best as I could but still not working.
Ideas I had to make things better in my forts:
Change all their preferences(food etc) to things I can get.
- DFhack has a script for this (pref-adjust) HOWEVER its outdated and does not actually give them a food preference, only drink, and only 1 preference which means they will get the "same old booze" thoughts. Not having a food preference means NO ONE can have their "decent meal", making it even worse than it was before the script. I had to save-scum to undo this because it was so bad.
Increase their mental attributes (including focus) to the max so at least it takes them longer to get unfocused and they work better.
- DFhack has a script for this. Elevate-mental. However there is apparently no way to make it apply to everyone in your fort, you have to individually select every member with [k] and then run the command. Too time consuming in a fort with 200 members though as a last resort I guess ill have to do this.
- DFhacks other script that DOES iterate is called "armoks-blessing" and does some other things besides changing mental attributes such as turning their age to 20. HOWEVER its not working in my forts because it seems to be trying to iterate over invader undead dwarf corpses from seasons ago even though I cleared them from the units list with fix/dead-units(which by the way I had to fix because it wouldnt clear the invader dwarf undead by default). I tried to fix the armoks-blessing script myself to only iterate over LIVING members of the fort but can't figure out how. Any help is appreciated.
Somehow force them to do the things that they need to be focused. This would affect their needs to make trouble, wander, pray, etc. (as in MAKE them go pray when they have a need to pray instead of hoping RNG sends them there instead of "listening to poetry" for the hundredth time).
No idea how I would do this.
Give them more friends and family within the fort somehow
- Even though my dwarves have plenty of time to idle, they never seem to make friends or get married and therefore never fulfill there needs to be with family/friends. They just have lots of "friendly terms" with half the fortress which doesnt help at all. So annoying. Maybe increasing their social skills will help with this, or some way to accelerate relationship building. Maybe I can kill all the bard visitors and disable poetry so they at least socialize instead of watching performances.
If anyone can help or point me in the right direction of how to write my own lua scripts for DFhack, I will be forever in your debt. I couldnt find a list of arguments or anything that would help me troubleshoot the scripts.