Skip to content

Commit 9ca79d0

Browse files
authored
Merge pull request DFHack#1259 from AtomicChicken/syndrome-util-updates
syndrome-util: added function to remove syndrome wound data
2 parents 8c8585d + c58ffdb commit 9ca79d0

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

library/lua/syndrome-util.lua

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@ ResetPolicy = ResetPolicy or utils.invert({
2222
"NewInstance"
2323
})
2424

25+
function eraseSyndromeData(unit,syndromeId,oldestFirst)
26+
for i = (oldestFirst and 0) or #unit.body.wounds-1,(oldestFirst and #unit.body.wounds-1) or 0,(oldestFirst and 1) or -1 do
27+
if unit.body.wounds[i].syndrome_id == syndromeId then
28+
unit.body.wounds:erase(i)
29+
break
30+
end
31+
end
32+
end
33+
2534
function eraseSyndrome(unit,syndromeId,oldestFirst)
2635
local i1
2736
local iN
@@ -38,6 +47,7 @@ function eraseSyndrome(unit,syndromeId,oldestFirst)
3847
local syndromes = unit.syndromes.active
3948
for i=i1,iN,d do
4049
if syndromes[i]['type'] == syndromeId then
50+
eraseSyndromeData(unit,syndromeId,oldestFirst)
4151
syndromes:erase(i)
4252
return true
4353
end
@@ -50,6 +60,7 @@ local function eraseSyndromeClassHelper(unit,synclass)
5060
local syndrome = df.syndrome.find(unitSyndrome.type)
5161
for _,class in ipairs(syndrome.syn_class) do
5262
if class.value == synclass then
63+
eraseSyndromeData(unit,syndrome.id)
5364
unit.syndromes.active:erase(i)
5465
return true
5566
end
@@ -172,4 +183,3 @@ function infectWithSyndromeIfValidTarget(target,syndrome,resetPolicy)
172183
end
173184

174185
return _ENV
175-

0 commit comments

Comments
 (0)