mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-10 22:31:40 +02:00
static const for globals
This commit is contained in:
@@ -255,14 +255,14 @@ JsonNode CampaignHandler::writeScenarioToJson(const CampaignScenario & scenario)
|
|||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<std::string, CampaignStartOptions> startOptionsMap = {
|
static const std::map<std::string, CampaignStartOptions> startOptionsMap = {
|
||||||
{"none", CampaignStartOptions::NONE},
|
{"none", CampaignStartOptions::NONE},
|
||||||
{"bonus", CampaignStartOptions::START_BONUS},
|
{"bonus", CampaignStartOptions::START_BONUS},
|
||||||
{"crossover", CampaignStartOptions::HERO_CROSSOVER},
|
{"crossover", CampaignStartOptions::HERO_CROSSOVER},
|
||||||
{"hero", CampaignStartOptions::HERO_OPTIONS}
|
{"hero", CampaignStartOptions::HERO_OPTIONS}
|
||||||
};
|
};
|
||||||
|
|
||||||
std::map<std::string, CampaignBonusType> bonusTypeMap = {
|
static const std::map<std::string, CampaignBonusType> bonusTypeMap = {
|
||||||
{"spell", CampaignBonusType::SPELL},
|
{"spell", CampaignBonusType::SPELL},
|
||||||
{"creature", CampaignBonusType::MONSTER},
|
{"creature", CampaignBonusType::MONSTER},
|
||||||
{"building", CampaignBonusType::BUILDING},
|
{"building", CampaignBonusType::BUILDING},
|
||||||
@@ -275,20 +275,20 @@ std::map<std::string, CampaignBonusType> bonusTypeMap = {
|
|||||||
//{"hero", CScenarioTravel::STravelBonus::EBonusType::HERO},
|
//{"hero", CScenarioTravel::STravelBonus::EBonusType::HERO},
|
||||||
};
|
};
|
||||||
|
|
||||||
std::map<std::string, ui32> primarySkillsMap = {
|
static const std::map<std::string, ui32> primarySkillsMap = {
|
||||||
{"attack", 0},
|
{"attack", 0},
|
||||||
{"defence", 8},
|
{"defence", 8},
|
||||||
{"spellpower", 16},
|
{"spellpower", 16},
|
||||||
{"knowledge", 24},
|
{"knowledge", 24},
|
||||||
};
|
};
|
||||||
|
|
||||||
std::map<std::string, ui16> heroSpecialMap = {
|
static const std::map<std::string, ui16> heroSpecialMap = {
|
||||||
{"strongest", 0xFFFD},
|
{"strongest", 0xFFFD},
|
||||||
{"generated", 0xFFFE},
|
{"generated", 0xFFFE},
|
||||||
{"random", 0xFFFF}
|
{"random", 0xFFFF}
|
||||||
};
|
};
|
||||||
|
|
||||||
std::map<std::string, ui8> resourceTypeMap = {
|
static const std::map<std::string, ui8> resourceTypeMap = {
|
||||||
//FD - wood+ore
|
//FD - wood+ore
|
||||||
//FE - mercury+sulfur+crystal+gem
|
//FE - mercury+sulfur+crystal+gem
|
||||||
{"wood", 0},
|
{"wood", 0},
|
||||||
@@ -330,7 +330,7 @@ CampaignTravel CampaignHandler::readScenarioTravelFromJson(JsonNode & reader)
|
|||||||
logGlobal->warn("VCMP Loading: keepArtifacts contains unresolved identifier %s", k.String());
|
logGlobal->warn("VCMP Loading: keepArtifacts contains unresolved identifier %s", k.String());
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.startOptions = startOptionsMap[reader["startOptions"].String()];
|
ret.startOptions = startOptionsMap.at(reader["startOptions"].String());
|
||||||
switch(ret.startOptions)
|
switch(ret.startOptions)
|
||||||
{
|
{
|
||||||
case CampaignStartOptions::NONE:
|
case CampaignStartOptions::NONE:
|
||||||
@@ -342,11 +342,11 @@ CampaignTravel CampaignHandler::readScenarioTravelFromJson(JsonNode & reader)
|
|||||||
for(auto & bjson : reader["bonuses"].Vector())
|
for(auto & bjson : reader["bonuses"].Vector())
|
||||||
{
|
{
|
||||||
CampaignBonus bonus;
|
CampaignBonus bonus;
|
||||||
bonus.type = bonusTypeMap[bjson["what"].String()];
|
bonus.type = bonusTypeMap.at(bjson["what"].String());
|
||||||
switch (bonus.type)
|
switch (bonus.type)
|
||||||
{
|
{
|
||||||
case CampaignBonusType::RESOURCE:
|
case CampaignBonusType::RESOURCE:
|
||||||
bonus.info1 = resourceTypeMap[bjson["type"].String()];
|
bonus.info1 = resourceTypeMap.at(bjson["type"].String());
|
||||||
bonus.info2 = bjson["amount"].Integer();
|
bonus.info2 = bjson["amount"].Integer();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ CampaignTravel CampaignHandler::readScenarioTravelFromJson(JsonNode & reader)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if(int heroId = heroSpecialMap[bjson["hero"].String()])
|
if(int heroId = heroSpecialMap.at(bjson["hero"].String()))
|
||||||
bonus.info1 = heroId;
|
bonus.info1 = heroId;
|
||||||
else
|
else
|
||||||
if(auto identifier = VLC->identifiers()->getIdentifier(ModScope::scopeMap(), "hero", bjson["hero"].String()))
|
if(auto identifier = VLC->identifiers()->getIdentifier(ModScope::scopeMap(), "hero", bjson["hero"].String()))
|
||||||
@@ -420,7 +420,7 @@ CampaignTravel CampaignHandler::readScenarioTravelFromJson(JsonNode & reader)
|
|||||||
bonus.type = CampaignBonusType::HERO;
|
bonus.type = CampaignBonusType::HERO;
|
||||||
bonus.info1 = bjson["playerColor"].Integer(); //player color
|
bonus.info1 = bjson["playerColor"].Integer(); //player color
|
||||||
|
|
||||||
if(int heroId = heroSpecialMap[bjson["hero"].String()])
|
if(int heroId = heroSpecialMap.at(bjson["hero"].String()))
|
||||||
bonus.info2 = heroId;
|
bonus.info2 = heroId;
|
||||||
else
|
else
|
||||||
if (auto identifier = VLC->identifiers()->getIdentifier(ModScope::scopeMap(), "hero", bjson["hero"].String()))
|
if (auto identifier = VLC->identifiers()->getIdentifier(ModScope::scopeMap(), "hero", bjson["hero"].String()))
|
||||||
|
Reference in New Issue
Block a user