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 committed 2024-08-29 13:18:33 +00:00
1 parent 32ad9c1902
commit d0b3bb95b2
2 files changed
+9 -1

No files matched your search

+8 -1
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);
}
}
+1
View File
@@ -181,6 +181,7 @@ private:
void initGlobalBonuses();
void initGrailPosition();
void initRandomFactionsForPlayers();
void initOwnedObjects();
void randomizeMapObjects();
void initPlayerStates();
void placeStartingHeroes();