Bazaar developer reference

CvTeam::changeCityWorkingChange(int)

Defined in
CvTeam.cpp, line 3188
Class
CvTeam
Hook name
CivHooks::CvTeam_changeCityWorkingChange

Hooks

static bool BeforeCvTeam_changeCityWorkingChange(CvTeam* self, int iChange);static void AfterCvTeam_changeCityWorkingChange(CvTeam* self, int iChange);static void ReplaceCvTeam_changeCityWorkingChange(void (*original)(CvTeam*, int), CvTeam* self, int iChange);CivRegisterBefore<CivHooks::CvTeam_changeCityWorkingChange>(host, &BeforeCvTeam_changeCityWorkingChange);CivRegisterAfter<CivHooks::CvTeam_changeCityWorkingChange>(host, &AfterCvTeam_changeCityWorkingChange);CivRegisterReplace<CivHooks::CvTeam_changeCityWorkingChange>(host, &ReplaceCvTeam_changeCityWorkingChange);

Code

3188void CvTeam::changeCityWorkingChange(int iChange)3189{3190	if(iChange != 0)3191	{3192		for (int iPlayer = 0; iPlayer < MAX_PLAYERS; iPlayer++) {3193			CvPlayer& kLoopPlayer = GET_PLAYER((PlayerTypes)iPlayer);3194			if (kLoopPlayer.isAlive()) {3195				if (kLoopPlayer.getTeam() == GetID()) {3196					CvCity* pLoopCity;3197					int iLoop;3198		3199					for (pLoopCity = kLoopPlayer.firstCity(&iLoop); pLoopCity != NULL; pLoopCity = kLoopPlayer.nextCity(&iLoop)) {3200						int iOldPlots = pLoopCity->GetNumWorkablePlots();3201						int iNewPlots = pLoopCity->GetNumWorkablePlots(iChange);3202			3203						for (int iI = std::min(iOldPlots, iNewPlots); iI < std::max(iOldPlots, iNewPlots); ++iI) {3204							CvPlot* pLoopPlot = plotCity(pLoopCity->getX(), pLoopCity->getY(), iI);32053206							if (pLoopPlot) {3207								pLoopPlot->changeCityRadiusCount(iChange);3208								pLoopPlot->changePlayerCityRadiusCount(kLoopPlayer.GetID(), iChange);3209							}3210						}3211					}3212				}3213			}3214		}32153216		m_iCityWorkingChange = (m_iCityWorkingChange + iChange);3217	}3218}

Calls

Called by