mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-27 22:49:25 +02:00
String building id
This commit is contained in:
@@ -192,7 +192,11 @@ void CBonusSelection::createBonusesIcons()
|
|||||||
}
|
}
|
||||||
assert(faction != -1);
|
assert(faction != -1);
|
||||||
|
|
||||||
BuildingID buildID = CBuildingHandler::campToERMU(bonDescs[i].info1, faction, std::set<BuildingID>());
|
BuildingID buildID;
|
||||||
|
if(getCampaign()->camp->header.version == CampaignVersion::VCMI)
|
||||||
|
buildID = BuildingID(bonDescs[i].info1);
|
||||||
|
else
|
||||||
|
buildID = CBuildingHandler::campToERMU(bonDescs[i].info1, faction, std::set<BuildingID>());
|
||||||
picName = graphics->ERMUtoPicture[faction][buildID];
|
picName = graphics->ERMUtoPicture[faction][buildID];
|
||||||
picNumber = -1;
|
picNumber = -1;
|
||||||
|
|
||||||
|
|||||||
@@ -1720,8 +1720,13 @@ void CGameState::initTowns()
|
|||||||
if (owner->human && //human-owned
|
if (owner->human && //human-owned
|
||||||
map->towns[g]->pos == pi.posOfMainTown)
|
map->towns[g]->pos == pi.posOfMainTown)
|
||||||
{
|
{
|
||||||
map->towns[g]->builtBuildings.insert(
|
BuildingID buildingId;
|
||||||
CBuildingHandler::campToERMU(chosenBonus->info1, map->towns[g]->subID, map->towns[g]->builtBuildings));
|
if(scenarioOps->campState->camp->header.version == CampaignVersion::VCMI)
|
||||||
|
buildingId = BuildingID(chosenBonus->info1);
|
||||||
|
else
|
||||||
|
buildingId = CBuildingHandler::campToERMU(chosenBonus->info1, map->towns[g]->subID, map->towns[g]->builtBuildings);
|
||||||
|
|
||||||
|
map->towns[g]->builtBuildings.insert(buildingId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include "../mapObjects/CGHeroInstance.h"//for hero crossover
|
#include "../mapObjects/CGHeroInstance.h"//for hero crossover
|
||||||
#include "../CHeroHandler.h"
|
#include "../CHeroHandler.h"
|
||||||
#include "../Languages.h"
|
#include "../Languages.h"
|
||||||
|
#include "../StringConstants.h"
|
||||||
#include "CMapService.h"
|
#include "CMapService.h"
|
||||||
#include "CMap.h"
|
#include "CMap.h"
|
||||||
#include "CMapInfo.h"
|
#include "CMapInfo.h"
|
||||||
@@ -319,7 +320,7 @@ CScenarioTravel CCampaignHandler::readScenarioTravelFromJson(JsonNode & reader,
|
|||||||
bonus.info2 = bjson["amount"].Integer();
|
bonus.info2 = bjson["amount"].Integer();
|
||||||
}
|
}
|
||||||
else if(bonus.type == CScenarioTravel::STravelBonus::EBonusType::BUILDING)
|
else if(bonus.type == CScenarioTravel::STravelBonus::EBonusType::BUILDING)
|
||||||
bonus.info1 = bjson["type"].Integer(); //VLC->modh->identifiers.getIdentifier(CModHandler::scopeMap(), "buildings", bjson["hero"].String()).get();
|
bonus.info1 = vstd::find_pos(EBuildingType::names, bjson["type"].String());
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(int heroId = heroSpecialMap[bjson["hero"].String()])
|
if(int heroId = heroSpecialMap[bjson["hero"].String()])
|
||||||
|
|||||||
Reference in New Issue
Block a user