CityList Emperor::Impl::findTroubleCities() { CityList ret; for (auto &item : relations) { CityPtr city = empire->findCity(item.first); Relation &relation = item.second; if (!city.isValid()) { Logger::warning("!!! city not availaible " + item.first); continue; } bool emperorAngry = relation.value() < minimumFavour4wrathGenerate; if (emperorAngry) { relation.wrathPoint += math::clamp(maxWrathPointValue - relation.value(), 0, maxWrathPointValue); if (relation.soldiers.sent == 0) ret.push_back(city); } else { relation.wrathPoint = 0; } } return ret; }