dfhack
dfhack copied to clipboard
Script: rejuvenate - 'all' filter misses those granted permanent residency, but who are not a 'citizen'
Issue: The script rejuvenate includes an --all option to select every dwarf.
The code for this is:
for _, u in ipairs(df.global.world.units.all) do
if dfhack.units.isCitizen(u) then
table.insert(units, u)
end
end
In practice this is missing residents that the user would expect to be included. For example in my fort, it missed Gimerib who is not a member of my civilisation, but who was granted permanent residency 35 years ago:

Is there another search that would include all residents, even if they're not techically a 'citizen'? I would definitely consider Gimerib a full member of my fort, as so far as I can tell he is functionally identical to every citizen dwarf. The only visible difference is he's not listed as a member of my civilisation. So it's a surprise to have such people missed from 'all' filters.