30 lines
806 B
Lua
30 lines
806 B
Lua
|
-- Remove uninteresting dead units from the unit list.
|
||
|
|
||
|
local units = df.global.world.units.active
|
||
|
local dwarf_race = df.global.ui.race_id
|
||
|
local dwarf_civ = df.global.ui.civ_id
|
||
|
local count = 0
|
||
|
|
||
|
for i=#units-1,0,-1 do
|
||
|
local unit = units[i]
|
||
|
local flags1 = unit.flags1
|
||
|
local flags2 = unit.flags2
|
||
|
if flags1.dead and unit.race ~= dwarf_race then
|
||
|
local remove = false
|
||
|
if flags2.slaughter then
|
||
|
remove = true
|
||
|
elseif not unit.name.has_name then
|
||
|
remove = true
|
||
|
elseif unit.civ_id ~= dwarf_civ and
|
||
|
not (flags1.merchant or flags1.diplomat) then
|
||
|
remove = true
|
||
|
end
|
||
|
if remove then
|
||
|
count = count + 1
|
||
|
units:erase(i)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
print('Units removed from active: '..count)
|