1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

Formatting & cleanup

This commit is contained in:
Ivan Savenko
2023-06-23 21:35:14 +03:00
parent 0fb284f948
commit 2b7e554807
2 changed files with 140 additions and 139 deletions

View File

@@ -68,17 +68,15 @@ CrossoverHeroesList CGameStateCampaign::getCrossoverHeroesFromPreviousScenarios(
auto * h = CCampaignState::crossoverDeserialize(node);
heroes.push_back(h);
}
crossoverHeroes.heroesFromAnyPreviousScenarios = crossoverHeroes.heroesFromPreviousScenario = heroes;
}
else
{
if(!campaignState->mapsConquered.empty())
{
std::vector<CGHeroInstance *> heroes = {};
crossoverHeroes.heroesFromAnyPreviousScenarios = crossoverHeroes.heroesFromPreviousScenario = heroes;
crossoverHeroes.heroesFromAnyPreviousScenarios = heroes;
crossoverHeroes.heroesFromPreviousScenario = heroes;
return crossoverHeroes;
}
if(campaignState->mapsConquered.empty())
return crossoverHeroes;
for(auto mapNr : campaignState->mapsConquered)
{
// create a list of deleted heroes
@@ -122,8 +120,6 @@ CrossoverHeroesList CGameStateCampaign::getCrossoverHeroesFromPreviousScenarios(
}
}
}
}
}
return crossoverHeroes;
}
@@ -238,8 +234,6 @@ void CGameStateCampaign::prepareCrossoverHeroes(std::vector<CampaignHeroReplacem
}
void CGameStateCampaign::placeCampaignHeroes()
{
if (gameState->scenarioOps->campState)
{
// place bonus hero
auto campaignBonus = gameState->scenarioOps->campState->getBonusForCurrentMap();
@@ -323,7 +317,6 @@ void CGameStateCampaign::placeCampaignHeroes()
gameState->map->getEditManager()->insertObject(hero);
}
}
}
// remove hero placeholders on map
for(auto obj : gameState->map->objects)
@@ -345,14 +338,16 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
if(!curBonus)
return;
if(curBonus->isBonusForHero())
{
assert(curBonus->isBonusForHero());
//apply bonus
switch(curBonus->type)
{
case CScenarioTravel::STravelBonus::SPELL:
{
hero->addSpellToSpellbook(SpellID(curBonus->info2));
break;
}
case CScenarioTravel::STravelBonus::MONSTER:
{
for(int i = 0; i < GameConstants::ARMY_SIZE; i++)
@@ -363,12 +358,14 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
break;
}
}
}
break;
}
case CScenarioTravel::STravelBonus::ARTIFACT:
{
if(!gameState->giveHeroArtifact(hero, static_cast<ArtifactID>(curBonus->info2)))
logGlobal->error("Cannot give starting artifact - no free slots!");
break;
}
case CScenarioTravel::STravelBonus::SPELL_SCROLL:
{
CArtifactInstance * scroll = ArtifactUtils::createScroll(SpellID(curBonus->info2));
@@ -377,8 +374,8 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
scroll->putAt(ArtifactLocation(hero, slot));
else
logGlobal->error("Cannot give starting scroll - no free slots!");
}
break;
}
case CScenarioTravel::STravelBonus::PRIMARY_SKILL:
{
const ui8 * ptr = reinterpret_cast<const ui8 *>(&curBonus->info2);
@@ -389,12 +386,15 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
{
continue;
}
auto bb = std::make_shared<Bonus>(BonusDuration::PERMANENT, BonusType::PRIMARY_SKILL, BonusSource::CAMPAIGN_BONUS, val, *gameState->scenarioOps->campState->currentMap, g);
auto bb = std::make_shared<Bonus>(
BonusDuration::PERMANENT, BonusType::PRIMARY_SKILL, BonusSource::CAMPAIGN_BONUS, val, *gameState->scenarioOps->campState->currentMap, g
);
hero->addNewBonus(bb);
}
}
break;
}
case CScenarioTravel::STravelBonus::SECONDARY_SKILL:
{
hero->setSecSkillLevel(SecondarySkill(curBonus->info2), curBonus->info3, true);
break;
}

View File

@@ -27,7 +27,8 @@ struct CampaignHeroReplacement
struct CrossoverHeroesList
{
std::vector<CGHeroInstance *> heroesFromPreviousScenario, heroesFromAnyPreviousScenarios;
std::vector<CGHeroInstance *> heroesFromPreviousScenario;
std::vector<CGHeroInstance *> heroesFromAnyPreviousScenarios;
void addHeroToBothLists(CGHeroInstance * hero);
void removeHeroFromBothLists(CGHeroInstance * hero);
};