Bazaar developer reference

CvWorldBuilderMapLoader::SetInitialItems(bool)

Defined in
CvWorldBuilderMapLoader.cpp, line 544
Class
CvWorldBuilderMapLoader
Hook name
CivHooks::CvWorldBuilderMapLoader_SetInitialItems

Hooks

static bool BeforeCvWorldBuilderMapLoader_SetInitialItems(bool bFirstCall);static void AfterCvWorldBuilderMapLoader_SetInitialItems(bool bFirstCall);static void ReplaceCvWorldBuilderMapLoader_SetInitialItems(void (*original)(bool), bool bFirstCall);CivRegisterBefore<CivHooks::CvWorldBuilderMapLoader_SetInitialItems>(host, &BeforeCvWorldBuilderMapLoader_SetInitialItems);CivRegisterAfter<CivHooks::CvWorldBuilderMapLoader_SetInitialItems>(host, &AfterCvWorldBuilderMapLoader_SetInitialItems);CivRegisterReplace<CivHooks::CvWorldBuilderMapLoader_SetInitialItems>(host, &ReplaceCvWorldBuilderMapLoader_SetInitialItems);

Code

544void CvWorldBuilderMapLoader::SetInitialItems(bool bFirstCall)545{546	const uint uiTeamCount = std::min(sg_kSave.GetTeamCount(), (byte)MAX_TEAMS);547	for(uint i = 0; i < uiTeamCount; ++i)548	{549		const TeamTypes eTeam = (TeamTypes)i;550		SetTeamInitialItems(GET_TEAM(eTeam), sg_kSave.GetTeam(i));551	}552553	const uint uiPlayerCount = std::min(sg_kSave.GetPlayerCount(), (byte)MAX_CIV_PLAYERS);554	for(uint i = 0; i < uiPlayerCount; ++i)555	{556		const PlayerTypes ePlayer = (PlayerTypes)i;557		CvPlayer& kPlayer = GET_PLAYER(ePlayer);558		SetPlayerInitialItems(kPlayer, sg_kSave.GetPlayer(i));559560		if(!bFirstCall)561		{562			// Assign all citizens563			CvCity* pLoopCity;564			int iLoop;565			for(pLoopCity = kPlayer.firstCity(&iLoop); pLoopCity != NULL; pLoopCity = kPlayer.nextCity(&iLoop))566			{567				pLoopCity->GetCityCitizens()->DoTurn();568			}569570			// Update player data571			kPlayer.GetCityConnections()->Update();572			kPlayer.GetTreasury()->DoUpdateCityConnectionGold();573			kPlayer.GetTreasury()->DoGold();574			kPlayer.DoUpdateHappiness();575		}576	}577578	const uint uiCityStateCount = std::min(sg_kSave.GetCityStateCount(), (byte)MAX_MINOR_CIVS);579	for(uint i = 0; i < uiCityStateCount; ++i)580	{581		const PlayerTypes ePlayer = (PlayerTypes)(i + MAX_MAJOR_CIVS);582		SetPlayerInitialItems(GET_PLAYER(ePlayer), sg_kSave.GetCityState(i));583	}584}

Calls

Called by