Skip to content

Commit e1f8b36

Browse files
committed
Revise RemoveFromUniform()
1 parent cc93186 commit e1f8b36

1 file changed

Lines changed: 10 additions & 12 deletions

File tree

store-owned.lua

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -329,25 +329,23 @@ local function AssignJob(item, unit, jobPos)
329329
print(('%s has been tasked to store away %s.'):format(strUnitName, strItemName))
330330
end
331331

332-
local function GetIdx(unitUniform, id)
333-
for i, v in pairs(unitUniform) do
334-
if v == id then
335-
return i
336-
end
337-
end
338-
return nil
339-
end
340-
341332
local function RemoveFromUniform(item, unit, options)
342333
if options.discard then
343334
local strItemName = item and dfhack.items.getReadableDescription(item)
344335
local strUnitName = unit and dfhack.units.getReadableName(unit)
345336
dfhack.items.setOwner(item, nil)
346337
print(('Ownership of %s was removed from %s.'):format(strItemName, strUnitName))
347338
end
348-
local unitUniform = unit.uniform.uniforms.CLOTHING
349-
local idx = GetIdx(unitUniform, item.id)
350-
if idx then unitUniform:erase(idx) end
339+
local uniforms = {
340+
unit.uniform.uniforms.CLOTHING,
341+
unit.uniform.uniforms.REGULAR,
342+
unit.uniform.uniforms.TRAINING,
343+
unit.uniform.uniforms.TRAINING_RANGED
344+
}
345+
for _, uniform in ipairs(uniforms) do
346+
local idx = utils.linear_index(uniform, item.id)
347+
if idx then uniform:erase(idx) end
348+
end
351349
end
352350

353351
local function ParseCommandLine(args)

0 commit comments

Comments
 (0)