From a17a4a2ce2fe8dd6bd14a6ccc0c7ec67b8976f98 Mon Sep 17 00:00:00 2001 From: Angus Mezick Date: Wed, 20 Jun 2012 14:45:09 -0400 Subject: [PATCH] Script to remove certain bad thoughts --- scripts/devel/fixnaked.lua | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 scripts/devel/fixnaked.lua diff --git a/scripts/devel/fixnaked.lua b/scripts/devel/fixnaked.lua new file mode 100644 index 000000000..0f0a4507d --- /dev/null +++ b/scripts/devel/fixnaked.lua @@ -0,0 +1,58 @@ +function fixnaked() +local total_fixed = 0 +local total_uncovered = 0 +local total_noshirt = 0 +local total_noshoes = 0 + +for fnUnitCount,fnUnit in ipairs(df.global.world.units.all) do + if fnUnit.race == df.global.ui.race_id then + local listEvents = fnUnit.status.recent_events + --for lkey,lvalue in pairs(listEvents) do + -- print(df.unit_thought_type[lvalue.type],lvalue.type,lvalue.age,lvalue.subtype,lvalue.severity) + --end + + local found = 1 + local fixed = 0 + while found == 1 do + local events = fnUnit.status.recent_events + found = 0 + for k,v in pairs(events) do + if v.type == 109 then + events:erase(k) + found = 1 + total_uncovered = total_uncovered + 1 + fixed = 1 + break + end + if v.type == 110 then + events:erase(k) + found = 1 + total_noshirt = total_noshirt + 1 + fixed = 1 + break + end + if v.type == 111 then + events:erase(k) + found = 1 + total_noshoes = total_noshoes + 1 + fixed = 1 + break + end + end + end + if fixed == 1 then + total_fixed = total_fixed + 1 + print(total_fixed, total_uncovered+total_noshirt+total_noshoes,dfhack.TranslateName(dfhack.units.getVisibleName(fnUnit))) + end + end +end +print("thought 109 = "..df.unit_thought_type[109]) +print("thought 110 = "..df.unit_thought_type[110]) +print("thought 111 = "..df.unit_thought_type[111]) +print("Total Fixed: "..total_fixed) +print("Total thoughts removed: "..total_uncovered) +print("Total thoughts removed: "..total_noshirt) +print("Total thoughts removed: "..total_noshoes) + +end +fixnaked()