Bazaar developer reference

CvPlayer::initFreeState(CvGameInitialItemsOverrides &)

Defined in
CvPlayer.cpp, line 1507
Class
CvPlayer
Hook name
CivHooks::CvPlayer_initFreeState

Hooks

static bool BeforeCvPlayer_initFreeState(CvPlayer* self, CvGameInitialItemsOverrides& kOverrides);static void AfterCvPlayer_initFreeState(CvPlayer* self, CvGameInitialItemsOverrides& kOverrides);static void ReplaceCvPlayer_initFreeState(void (*original)(CvPlayer*, CvGameInitialItemsOverrides&), CvPlayer* self, CvGameInitialItemsOverrides& kOverrides);CivRegisterBefore<CivHooks::CvPlayer_initFreeState>(host, &BeforeCvPlayer_initFreeState);CivRegisterAfter<CivHooks::CvPlayer_initFreeState>(host, &AfterCvPlayer_initFreeState);CivRegisterReplace<CivHooks::CvPlayer_initFreeState>(host, &ReplaceCvPlayer_initFreeState);

Code

1507void CvPlayer::initFreeState(CvGameInitialItemsOverrides& kOverrides)1508{1509	CvHandicapInfo& kHandicapInfo = getHandicapInfo();15101511	// Starting Gold1512	if(kOverrides.GrantInitialGoldPerPlayer[GetID()])1513	{1514		int iInitialGold = kHandicapInfo.getStartingGold() + GC.getGame().getStartEraInfo().getStartingGold();1515		iInitialGold *= GC.getGame().getGameSpeedInfo().getTrainPercent();1516		iInitialGold /= 100;1517		GetTreasury()->SetGold(iInitialGold);1518	}15191520	// Free Culture1521	if(kOverrides.GrantInitialCulturePerPlayer[GetID()])1522	{1523		int iInitialCulture = kHandicapInfo.getStartingPolicyPoints() + GC.getGame().getStartEraInfo().getStartingCulture();1524		iInitialCulture *= GC.getGame().getGameSpeedInfo().getTrainPercent();1525		iInitialCulture /= 100;1526		setJONSCulture(iInitialCulture);15271528		 // I think policy points is a better name than Jon's Culture, don't you?1529		ChangeJONSCulturePerTurnForFree(kHandicapInfo.getFreeCulturePerTurn()); // No, IMNSHO ;P1530	}1531	// Extra Happiness from Luxuries1532	ChangeExtraHappinessPerLuxury(kHandicapInfo.getExtraHappinessPerLuxury());15331534	// Free starting Resources1535	for(int iLoop = 0; iLoop < GC.getNumResourceInfos(); iLoop++)1536	{1537		const ResourceTypes eResource = static_cast<ResourceTypes>(iLoop);1538		CvResourceInfo* pkResource = GC.getResourceInfo(eResource);1539		if(pkResource)1540		{1541			if(pkResource->getStartingResourceQuantity() != 0)1542			{1543				changeNumResourceTotal(eResource, pkResource->getStartingResourceQuantity());1544			}1545		}15461547	}15481549	DoUpdateHappiness();15501551	clearResearchQueue();1552}

Calls

Called by