Fix deconstruction of buildings containing items

develop
Kelly Kinkade 2016-12-01 11:06:40 -06:00
parent d5d0775f1a
commit 77a1264a94
1 changed files with 6 additions and 1 deletions

@ -676,10 +676,15 @@ static df::unit_labor construction_build_labor (df::building_actual* b)
{ {
if (b->getType() == df::building_type::RoadPaved) if (b->getType() == df::building_type::RoadPaved)
return df::unit_labor::BUILD_ROAD; return df::unit_labor::BUILD_ROAD;
// Find last item in building with use mode 2
// For screw pumps contained_items[0] = pipe, 1 corkscrew, 2 block // For screw pumps contained_items[0] = pipe, 1 corkscrew, 2 block
// For wells 0 mechanism, 1 rope, 2 bucket, 3 block // For wells 0 mechanism, 1 rope, 2 bucket, 3 block
// Trade depots and bridges use the last one too // Trade depots and bridges use the last one too
df::item* i = b->contained_items.back()->item; // Must check use mode b/c buildings may have items in them that are not part of the building
if ((*p)->use_mode == 2)
i = (*p)->item;
MaterialInfo matinfo; MaterialInfo matinfo;
if (i && matinfo.decode(i)) if (i && matinfo.decode(i))
{ {