1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-03 14:52:11 +02:00

Merge pull request #4980 from IvanSavenko/hero_randomization_fix

Fix Orrin as starting hero on some maps
This commit is contained in:
Ivan Savenko 2024-11-25 14:28:55 +02:00 committed by GitHub
commit a58d48e03d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 2 deletions

View File

@ -62,7 +62,7 @@ boost::shared_mutex CGameState::mutex;
HeroTypeID CGameState::pickNextHeroType(const PlayerColor & owner)
{
const PlayerSettings &ps = scenarioOps->getIthPlayersSettings(owner);
if(ps.hero >= HeroTypeID(0) && !isUsedHero(HeroTypeID(ps.hero))) //we haven't used selected hero
if(ps.hero.isValid() && !isUsedHero(HeroTypeID(ps.hero))) //we haven't used selected hero
{
return HeroTypeID(ps.hero);
}

View File

@ -661,8 +661,10 @@ void CGHeroInstance::pickRandomObject(vstd::RNG & rand)
if (ID == Obj::RANDOM_HERO)
{
auto selectedHero = cb->gameState()->pickNextHeroType(getOwner());
ID = Obj::HERO;
subID = cb->gameState()->pickNextHeroType(getOwner());
subID = selectedHero;
randomizeArmy(getHeroClass()->faction);
}