|
@@ -767,21 +767,20 @@ void CGameState::initStartingBonus()
|
|
|
void CGameState::initTownNames()
|
|
|
{
|
|
|
std::map<FactionID, std::vector<int>> availableNames;
|
|
|
- for (auto const & faction : VLC->townh->getDefaultAllowed())
|
|
|
+ for(const auto & faction : VLC->townh->getDefaultAllowed())
|
|
|
{
|
|
|
std::vector<int> potentialNames;
|
|
|
- if (faction.toFaction()->town->getRandomNamesCount() > 0)
|
|
|
+ if(faction.toFaction()->town->getRandomNamesCount() > 0)
|
|
|
{
|
|
|
- for (int i = 0; i < faction.toFaction()->town->getRandomNamesCount(); ++i)
|
|
|
+ for(int i = 0; i < faction.toFaction()->town->getRandomNamesCount(); ++i)
|
|
|
potentialNames.push_back(i);
|
|
|
|
|
|
availableNames[faction] = potentialNames;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- for (auto & elem : map->towns)
|
|
|
+ for(auto & vti : map->towns)
|
|
|
{
|
|
|
- CGTownInstance * vti =(elem);
|
|
|
assert(vti->town);
|
|
|
|
|
|
if(!vti->getNameTextID().empty())
|
|
@@ -789,7 +788,7 @@ void CGameState::initTownNames()
|
|
|
|
|
|
FactionID faction = vti->getFaction();
|
|
|
|
|
|
- if (availableNames.empty())
|
|
|
+ if(availableNames.empty())
|
|
|
{
|
|
|
logGlobal->warn("Failed to find available name for a random town!");
|
|
|
vti->setNameTextId("core.genrltxt.508"); // Unnamed
|
|
@@ -797,14 +796,14 @@ void CGameState::initTownNames()
|
|
|
}
|
|
|
|
|
|
// If town has no available names (for example - all were picked) - pick names from some other faction that still has names available
|
|
|
- if (!availableNames.count(faction))
|
|
|
+ if(!availableNames.count(faction))
|
|
|
faction = RandomGeneratorUtil::nextItem(availableNames, getRandomGenerator())->first;
|
|
|
|
|
|
auto nameIt = RandomGeneratorUtil::nextItem(availableNames[faction], getRandomGenerator());
|
|
|
vti->setNameTextId(faction.toFaction()->town->getRandomNameTextID(*nameIt));
|
|
|
|
|
|
availableNames[faction].erase(nameIt);
|
|
|
- if (availableNames[faction].empty())
|
|
|
+ if(availableNames[faction].empty())
|
|
|
availableNames.erase(faction);
|
|
|
}
|
|
|
}
|
|
@@ -822,14 +821,13 @@ void CGameState::initTowns()
|
|
|
map->townUniversitySkills.push_back(SecondarySkill(SecondarySkill::WATER_MAGIC));
|
|
|
map->townUniversitySkills.push_back(SecondarySkill(SecondarySkill::EARTH_MAGIC));
|
|
|
|
|
|
- for (auto & elem : map->towns)
|
|
|
- {
|
|
|
- CGTownInstance * vti =(elem);
|
|
|
- assert(vti->town);
|
|
|
+ for (auto & vti : map->towns)
|
|
|
+ {
|
|
|
+ assert(vti->town);
|
|
|
|
|
|
- static const BuildingID basicDwellings[] = { BuildingID::DWELL_FIRST, BuildingID::DWELL_LVL_2, BuildingID::DWELL_LVL_3, BuildingID::DWELL_LVL_4, BuildingID::DWELL_LVL_5, BuildingID::DWELL_LVL_6, BuildingID::DWELL_LVL_7 };
|
|
|
- static const BuildingID upgradedDwellings[] = { BuildingID::DWELL_UP_FIRST, BuildingID::DWELL_LVL_2_UP, BuildingID::DWELL_LVL_3_UP, BuildingID::DWELL_LVL_4_UP, BuildingID::DWELL_LVL_5_UP, BuildingID::DWELL_LVL_6_UP, BuildingID::DWELL_LVL_7_UP };
|
|
|
- static const BuildingID hordes[] = { BuildingID::HORDE_PLACEHOLDER1, BuildingID::HORDE_PLACEHOLDER2, BuildingID::HORDE_PLACEHOLDER3, BuildingID::HORDE_PLACEHOLDER4, BuildingID::HORDE_PLACEHOLDER5, BuildingID::HORDE_PLACEHOLDER6, BuildingID::HORDE_PLACEHOLDER7 };
|
|
|
+ constexpr std::array basicDwellings = { BuildingID::DWELL_FIRST, BuildingID::DWELL_LVL_2, BuildingID::DWELL_LVL_3, BuildingID::DWELL_LVL_4, BuildingID::DWELL_LVL_5, BuildingID::DWELL_LVL_6, BuildingID::DWELL_LVL_7 };
|
|
|
+ constexpr std::array upgradedDwellings = { BuildingID::DWELL_UP_FIRST, BuildingID::DWELL_LVL_2_UP, BuildingID::DWELL_LVL_3_UP, BuildingID::DWELL_LVL_4_UP, BuildingID::DWELL_LVL_5_UP, BuildingID::DWELL_LVL_6_UP, BuildingID::DWELL_LVL_7_UP };
|
|
|
+ constexpr std::array hordes = { BuildingID::HORDE_PLACEHOLDER1, BuildingID::HORDE_PLACEHOLDER2, BuildingID::HORDE_PLACEHOLDER3, BuildingID::HORDE_PLACEHOLDER4, BuildingID::HORDE_PLACEHOLDER5, BuildingID::HORDE_PLACEHOLDER6, BuildingID::HORDE_PLACEHOLDER7 };
|
|
|
|
|
|
//init buildings
|
|
|
if(vstd::contains(vti->builtBuildings, BuildingID::DEFAULT)) //give standard set of buildings
|