dungeon cages/retraints aren't assignable

develop
Myk Taylor 2023-10-09 17:31:50 -07:00
parent e7c07a2494
commit 640c77dc48
No known key found for this signature in database
2 changed files with 8 additions and 3 deletions

@ -60,6 +60,7 @@ Template for new versions:
- `sort`: new search widgets for Info panel tabs, including all "Creatures" subtabs, all "Objects" subtabs, "Tasks", the "Work details" subtab under "Labor", and the "Interrogate" and "Convict" screens under "Justice"
## Fixes
- `zone`: don't show animal assignment link for dungeon cages/restraints
## Misc Improvements
- `overlay`: allow ``overlay_onupdate_max_freq_seconds`` to be dynamically set to 0 for a burst of high-frequency updates

@ -961,9 +961,13 @@ CageChainOverlay.ATTRS{
local function is_valid_building()
local bld = dfhack.gui.getSelectedBuilding(true)
return bld and bld:getBuildStage() == bld:getMaxBuildStage() and
(bld:getType() == df.building_type.Cage or
bld:getType() == df.building_type.Chain)
if not bld or bld:getBuildStage() ~= bld:getMaxBuildStage() then return false end
local bt = bld:getType()
if bt ~= df.building_type.Cage and bt ~= df.building_type.Chain then return false end
for _,zone in ipairs(bld.relations) do
if zone.type == df.civzone_type.Dungeon then return false end
end
return true
end
local function is_cage_selected()