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
- CvCity::GetNumWorkablePlots(int) const
- CvCity::getX() const
- CvCity::getY() const
- CvPlayer::firstCity(int *, bool)
- CvPlayer::GetID() const
- CvPlayer::getTeam() const
- CvPlayer::isAlive() const
- CvPlayer::nextCity(int *, bool)
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlot::changeCityRadiusCount(int)
- CvPlot::changePlayerCityRadiusCount(PlayerTypes, int)
- CvTeam::GetID() const
- plotCity(int, int, int)
std::maxstd::min