Bazaar developer reference

CvPlayer::ChangeCityWorkingChange(int)

Defined in
CvPlayer.cpp, line 26587
Class
CvPlayer
Hook name
CivHooks::CvPlayer_ChangeCityWorkingChange

Hooks

static bool BeforeCvPlayer_ChangeCityWorkingChange(CvPlayer* self, int iChange);static void AfterCvPlayer_ChangeCityWorkingChange(CvPlayer* self, int iChange);static void ReplaceCvPlayer_ChangeCityWorkingChange(void (*original)(CvPlayer*, int), CvPlayer* self, int iChange);CivRegisterBefore<CivHooks::CvPlayer_ChangeCityWorkingChange>(host, &BeforeCvPlayer_ChangeCityWorkingChange);CivRegisterAfter<CivHooks::CvPlayer_ChangeCityWorkingChange>(host, &AfterCvPlayer_ChangeCityWorkingChange);CivRegisterReplace<CivHooks::CvPlayer_ChangeCityWorkingChange>(host, &ReplaceCvPlayer_ChangeCityWorkingChange);

Code

26586/// Changes how many more city rings we can work26587void CvPlayer::ChangeCityWorkingChange(int iChange)26588{26589	if(iChange != 0)26590	{26591		CvCity* pLoopCity;26592		int iLoop;26593		26594		for (pLoopCity = firstCity(&iLoop); pLoopCity != NULL; pLoopCity = nextCity(&iLoop)) {26595			int iOldPlots = pLoopCity->GetNumWorkablePlots();26596			int iNewPlots = pLoopCity->GetNumWorkablePlots(iChange);26597			26598			for (int iI = std::min(iOldPlots, iNewPlots); iI < std::max(iOldPlots, iNewPlots); ++iI) {26599				CvPlot* pLoopPlot = plotCity(pLoopCity->getX(), pLoopCity->getY(), iI);2660026601				if (pLoopPlot) {26602					pLoopPlot->changeCityRadiusCount(iChange);26603					pLoopPlot->changePlayerCityRadiusCount(GetID(), iChange);26604				}26605			}26606		}2660726608		m_iCityWorkingChange += iChange;26609	}26610}

Calls

Called by