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}