From ad6d6fbaa6907c5ca482fff3eb0589ea0d704322 Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Thu, 1 Dec 2016 14:36:46 -0600 Subject: [PATCH] further tweak building construction labor identification It's always more complicated than you expect.... --- plugins/labormanager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/labormanager.cpp b/plugins/labormanager.cpp index 12e8aa0c3..2a97b7d58 100644 --- a/plugins/labormanager.cpp +++ b/plugins/labormanager.cpp @@ -676,7 +676,7 @@ static df::unit_labor construction_build_labor (df::building_actual* b) { if (b->getType() == df::building_type::RoadPaved) return df::unit_labor::BUILD_ROAD; - // Find last item in building with use mode 2 + // Find last item in building with use mode appropriate to the building's constructions state // For screw pumps contained_items[0] = pipe, 1 corkscrew, 2 block // For wells 0 mechanism, 1 rope, 2 bucket, 3 block // Trade depots and bridges use the last one too @@ -684,7 +684,8 @@ static df::unit_labor construction_build_labor (df::building_actual* b) df::item* i = 0; for (auto p = b->contained_items.begin(); p != b->contained_items.end(); p++) - if ((*p)->use_mode == 2) + if (b->construction_stage > 0 && (*p)->use_mode == 2 || + b->construction_stage == 0 && (*p)->use_mode == 0) i = (*p)->item; MaterialInfo matinfo;