|
|
|
@ -1212,15 +1212,28 @@ private:
|
|
|
|
|
{
|
|
|
|
|
df::activity_info *act = ui->activities[i];
|
|
|
|
|
if (!act) continue;
|
|
|
|
|
|
|
|
|
|
bool p1 = act->unit_actor == dwarf->dwarf;
|
|
|
|
|
bool p2 = act->unit_noble == dwarf->dwarf;
|
|
|
|
|
|
|
|
|
|
if (p1 || p2)
|
|
|
|
|
{
|
|
|
|
|
dwarf->clear_all = true;
|
|
|
|
|
if (print_debug)
|
|
|
|
|
out.print("Dwarf \"%s\" has a meeting, will be cleared of all labors\n", dwarf->dwarf->name.first_name.c_str());
|
|
|
|
|
break;
|
|
|
|
|
df::unit* other = p1 ? act->unit_noble : act->unit_actor;
|
|
|
|
|
if (other && !(other->flags1.bits.dead ||
|
|
|
|
|
other->job.current_job->job_type == df::job_type::Sleep ||
|
|
|
|
|
other->job.current_job->job_type == df::job_type::Rest ||
|
|
|
|
|
ENUM_ATTR(profession, military, other->profession)))
|
|
|
|
|
{
|
|
|
|
|
dwarf->clear_all = true;
|
|
|
|
|
if (print_debug)
|
|
|
|
|
out.print("Dwarf \"%s\" has a meeting, will be cleared of all labors\n", dwarf->dwarf->name.first_name.c_str());
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (print_debug)
|
|
|
|
|
out.print("Dwarf \"%s\" has a meeting, but with someone who can't make the meeting.\n", dwarf->dwarf->name.first_name.c_str());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|