able_stand was renamed to limbs_stand_max and able_stand_impair was renamed to limbs_stand_count
Thanks. Is there somewhere I can see a list of these values?
Cheers, I can confirm this script fixes lost ability to stand
repairhim = lambda { |u|
# dirty
if u.body.wounds.count > 0 then
u.body.wounds = []
puts "supermedic: cleared all wounds."
end
if u.status2.limbs_stand_max < 2 then
u.status2.limbs_stand_max = 2
puts "supermedic: repaired lost stand ability."
end
if u.status2.limbs_stand_count < 2 then
u.status2.limbs_stand_count = 2
puts "supermedic: repaired impaired stand ability."
end
# maybe dirty
if u.job.current_job.job_type == :Rest then
u.job.current_job.job_type = :CleanSelf
puts "supermedic: released from 'Rest' job."
end
}
if him = df.unit_find then
repairhim[him]
end
Hmm strangeness. I've applied this to two dwarves, one a military guy one a migrant who showed up with an inexplicable broken back.
The migrant is fine. But the military dwarf loses the ability to stand every time I load the game.
His description says he sustained major wounds recently, but his wound screen is empty, nothing missing, and his health screen shows no injuries.
Any idea why he'd keep having this lost ability to stand on load?
When i run the script on him though, it does something weird. It fixes the lost ability to stand but then throws a
DFHack is ready. Have a nice day!
Type in '?' or 'help' for general help, 'ls' to see all commands.
[DFHack]# supermedic
supermedic: repaired impaired stand ability.
E: NoMethodError: undefined method `job_type' for nil:NilClass
./hack/scripts/supermedic.rb:16
./hack/scripts/supermedic.rb:23:in `[]'
./hack/scripts/supermedic.rb:23
(eval):1:in `load'
(eval):1
(eval):1:in `catch'
(eval):1
[DFHack]#
When i ran it on the migrant I didn't get that kind of error.