mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Formatting & cleanup
This commit is contained in:
@@ -68,17 +68,15 @@ CrossoverHeroesList CGameStateCampaign::getCrossoverHeroesFromPreviousScenarios(
|
|||||||
auto * h = CCampaignState::crossoverDeserialize(node);
|
auto * h = CCampaignState::crossoverDeserialize(node);
|
||||||
heroes.push_back(h);
|
heroes.push_back(h);
|
||||||
}
|
}
|
||||||
crossoverHeroes.heroesFromAnyPreviousScenarios = crossoverHeroes.heroesFromPreviousScenario = heroes;
|
crossoverHeroes.heroesFromAnyPreviousScenarios = heroes;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(!campaignState->mapsConquered.empty())
|
|
||||||
{
|
|
||||||
std::vector<CGHeroInstance *> heroes = {};
|
|
||||||
|
|
||||||
crossoverHeroes.heroesFromAnyPreviousScenarios = crossoverHeroes.heroesFromPreviousScenario = heroes;
|
|
||||||
crossoverHeroes.heroesFromPreviousScenario = heroes;
|
crossoverHeroes.heroesFromPreviousScenario = heroes;
|
||||||
|
|
||||||
|
return crossoverHeroes;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(campaignState->mapsConquered.empty())
|
||||||
|
return crossoverHeroes;
|
||||||
|
|
||||||
for(auto mapNr : campaignState->mapsConquered)
|
for(auto mapNr : campaignState->mapsConquered)
|
||||||
{
|
{
|
||||||
// create a list of deleted heroes
|
// create a list of deleted heroes
|
||||||
@@ -122,8 +120,6 @@ CrossoverHeroesList CGameStateCampaign::getCrossoverHeroesFromPreviousScenarios(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
return crossoverHeroes;
|
return crossoverHeroes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -238,8 +234,6 @@ void CGameStateCampaign::prepareCrossoverHeroes(std::vector<CampaignHeroReplacem
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CGameStateCampaign::placeCampaignHeroes()
|
void CGameStateCampaign::placeCampaignHeroes()
|
||||||
{
|
|
||||||
if (gameState->scenarioOps->campState)
|
|
||||||
{
|
{
|
||||||
// place bonus hero
|
// place bonus hero
|
||||||
auto campaignBonus = gameState->scenarioOps->campState->getBonusForCurrentMap();
|
auto campaignBonus = gameState->scenarioOps->campState->getBonusForCurrentMap();
|
||||||
@@ -323,7 +317,6 @@ void CGameStateCampaign::placeCampaignHeroes()
|
|||||||
gameState->map->getEditManager()->insertObject(hero);
|
gameState->map->getEditManager()->insertObject(hero);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// remove hero placeholders on map
|
// remove hero placeholders on map
|
||||||
for(auto obj : gameState->map->objects)
|
for(auto obj : gameState->map->objects)
|
||||||
@@ -345,14 +338,16 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
|
|||||||
if(!curBonus)
|
if(!curBonus)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(curBonus->isBonusForHero())
|
assert(curBonus->isBonusForHero());
|
||||||
{
|
|
||||||
//apply bonus
|
//apply bonus
|
||||||
switch(curBonus->type)
|
switch(curBonus->type)
|
||||||
{
|
{
|
||||||
case CScenarioTravel::STravelBonus::SPELL:
|
case CScenarioTravel::STravelBonus::SPELL:
|
||||||
|
{
|
||||||
hero->addSpellToSpellbook(SpellID(curBonus->info2));
|
hero->addSpellToSpellbook(SpellID(curBonus->info2));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case CScenarioTravel::STravelBonus::MONSTER:
|
case CScenarioTravel::STravelBonus::MONSTER:
|
||||||
{
|
{
|
||||||
for(int i = 0; i < GameConstants::ARMY_SIZE; i++)
|
for(int i = 0; i < GameConstants::ARMY_SIZE; i++)
|
||||||
@@ -363,12 +358,14 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case CScenarioTravel::STravelBonus::ARTIFACT:
|
case CScenarioTravel::STravelBonus::ARTIFACT:
|
||||||
|
{
|
||||||
if(!gameState->giveHeroArtifact(hero, static_cast<ArtifactID>(curBonus->info2)))
|
if(!gameState->giveHeroArtifact(hero, static_cast<ArtifactID>(curBonus->info2)))
|
||||||
logGlobal->error("Cannot give starting artifact - no free slots!");
|
logGlobal->error("Cannot give starting artifact - no free slots!");
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case CScenarioTravel::STravelBonus::SPELL_SCROLL:
|
case CScenarioTravel::STravelBonus::SPELL_SCROLL:
|
||||||
{
|
{
|
||||||
CArtifactInstance * scroll = ArtifactUtils::createScroll(SpellID(curBonus->info2));
|
CArtifactInstance * scroll = ArtifactUtils::createScroll(SpellID(curBonus->info2));
|
||||||
@@ -377,8 +374,8 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
|
|||||||
scroll->putAt(ArtifactLocation(hero, slot));
|
scroll->putAt(ArtifactLocation(hero, slot));
|
||||||
else
|
else
|
||||||
logGlobal->error("Cannot give starting scroll - no free slots!");
|
logGlobal->error("Cannot give starting scroll - no free slots!");
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case CScenarioTravel::STravelBonus::PRIMARY_SKILL:
|
case CScenarioTravel::STravelBonus::PRIMARY_SKILL:
|
||||||
{
|
{
|
||||||
const ui8 * ptr = reinterpret_cast<const ui8 *>(&curBonus->info2);
|
const ui8 * ptr = reinterpret_cast<const ui8 *>(&curBonus->info2);
|
||||||
@@ -389,12 +386,15 @@ void CGameStateCampaign::giveCampaignBonusToHero(CGHeroInstance * hero)
|
|||||||
{
|
{
|
||||||
continue;
|
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);
|
hero->addNewBonus(bb);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case CScenarioTravel::STravelBonus::SECONDARY_SKILL:
|
case CScenarioTravel::STravelBonus::SECONDARY_SKILL:
|
||||||
|
{
|
||||||
hero->setSecSkillLevel(SecondarySkill(curBonus->info2), curBonus->info3, true);
|
hero->setSecSkillLevel(SecondarySkill(curBonus->info2), curBonus->info3, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ struct CampaignHeroReplacement
|
|||||||
|
|
||||||
struct CrossoverHeroesList
|
struct CrossoverHeroesList
|
||||||
{
|
{
|
||||||
std::vector<CGHeroInstance *> heroesFromPreviousScenario, heroesFromAnyPreviousScenarios;
|
std::vector<CGHeroInstance *> heroesFromPreviousScenario;
|
||||||
|
std::vector<CGHeroInstance *> heroesFromAnyPreviousScenarios;
|
||||||
void addHeroToBothLists(CGHeroInstance * hero);
|
void addHeroToBothLists(CGHeroInstance * hero);
|
||||||
void removeHeroFromBothLists(CGHeroInstance * hero);
|
void removeHeroFromBothLists(CGHeroInstance * hero);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user