diff --git a/plugins/autolabor.cpp b/plugins/autolabor.cpp index bad80a515..56dc61111 100644 --- a/plugins/autolabor.cpp +++ b/plugins/autolabor.cpp @@ -57,6 +57,9 @@ #include #include #include +#include +#include +#include #include @@ -761,6 +764,7 @@ private: case df::building_type::Cage: case df::building_type::NestBox: case df::building_type::TractionBench: + case df::building_type::Slab: return df::unit_labor::HAUL_FURNITURE; case df::building_type::Trap: return df::unit_labor::MECHANIC; @@ -1162,7 +1166,7 @@ public: job_to_labor_table[df::job_type::ApplyCast] = jlf_const(df::unit_labor::BONE_SETTING); job_to_labor_table[df::job_type::CustomReaction] = new jlfunc_custom(); job_to_labor_table[df::job_type::ConstructSlab] = jlf_make_furniture; - job_to_labor_table[df::job_type::EngraveSlab] = jlf_const(df::unit_labor::STONE_CRAFT); + job_to_labor_table[df::job_type::EngraveSlab] = jlf_const(df::unit_labor::DETAIL); job_to_labor_table[df::job_type::ShearCreature] = jlf_const(df::unit_labor::SHEARER); job_to_labor_table[df::job_type::SpinThread] = jlf_const(df::unit_labor::SPINNER); job_to_labor_table[df::job_type::PenLargeAnimal] = jlf_no_labor; @@ -1873,7 +1877,7 @@ public: for (auto v = world->vehicles.all.begin(); v != world->vehicles.all.end(); v++) if ((*v)->route_id != -1) - labor_needed[df::unit_labor::PUSH_HAUL_VEHICLE]++; + labor_needed[df::unit_labor::PUSH_HAUL_VEHICLE]++; // add fishing & hunting @@ -1883,6 +1887,16 @@ public: if (isOptionEnabled(CF_ALLOW_HUNTING) && has_butchers) labor_needed[df::unit_labor::HUNT] ++; + /* add animal trainers */ + for (auto a = df::global::ui->equipment.training_assignments.begin(); + a != df::global::ui->equipment.training_assignments.end(); + a++) + { + labor_needed[df::unit_labor::ANIMALTRAIN]++; + // note: this doesn't test to see if the trainer is actually needed, and thus will overallocate trainers. bleah. + } + + if (print_debug) { for (auto i = labor_needed.begin(); i != labor_needed.end(); i++)