1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-12 02:28:11 +02:00

Change gamestate initialization order - list of owned objects must be

initialized before connecting towns with visiting heroes, but after
generateion of starting heroes
This commit is contained in:
Ivan Savenko 2024-08-29 12:42:36 +00:00
parent 32ad9c1902
commit d0b3bb95b2
2 changed files with 9 additions and 1 deletions

View File

@ -194,6 +194,7 @@ void CGameState::init(const IMapService * mapService, StartInfo * si, Load::Prog
initRandomFactionsForPlayers();
randomizeMapObjects();
placeStartingHeroes();
initOwnedObjects();
initDifficulty();
initHeroes();
initStartingBonus();
@ -492,8 +493,14 @@ void CGameState::randomizeMapObjects()
}
}
}
}
}
if (object->getOwner().isValidPlayer())
void CGameState::initOwnedObjects()
{
for(CGObjectInstance *object : map->objects)
{
if (object && object->getOwner().isValidPlayer())
getPlayerState(object->getOwner())->addOwnedObject(object);
}
}

View File

@ -181,6 +181,7 @@ private:
void initGlobalBonuses();
void initGrailPosition();
void initRandomFactionsForPlayers();
void initOwnedObjects();
void randomizeMapObjects();
void initPlayerStates();
void placeStartingHeroes();