| 528 | |
| 529 | #include <df/unit.h> |
| 530 | static void train_partials(color_ostream& out, int32_t& train_count) { |
| 531 | for (auto unit : world->units.active) { |
| 532 | if (!Units::isActive(unit) || |
| 533 | !Units::isTamable(unit) || |
| 534 | Units::isDomesticated(unit) || |
| 535 | Units::isWar(unit) || |
| 536 | Units::isHunter(unit) || |
| 537 | Units::isMarkedForTraining(unit) || |
| 538 | !Units::isFortControlled(unit)) |
| 539 | continue; |
| 540 | |
| 541 | if (Units::assignTrainer(unit)) { |
| 542 | DEBUG(cycle,out).print("assigned trainer to unit {}\n", unit->id); |
| 543 | ++train_count; |
| 544 | } |
| 545 | } |
| 546 | } |
| 547 | |
| 548 | static void do_cycle(color_ostream& out, |
| 549 | int32_t& melt_count, int32_t& trade_count, |