CvCity::HasImprovement(ImprovementTypes) const
- Defined in
- CvCity.cpp, line 17291
- Class
- CvCity
- Hook name
CivHooks::CvCity_HasImprovement
Hooks
static bool BeforeCvCity_HasImprovement(const CvCity* self, ImprovementTypes iImprovementType, bool& result);static void AfterCvCity_HasImprovement(const CvCity* self, ImprovementTypes iImprovementType, bool& result);static bool ReplaceCvCity_HasImprovement(bool (*original)(const CvCity*, ImprovementTypes), const CvCity* self, ImprovementTypes iImprovementType);CivRegisterBefore<CivHooks::CvCity_HasImprovement>(host, &BeforeCvCity_HasImprovement);CivRegisterAfter<CivHooks::CvCity_HasImprovement>(host, &AfterCvCity_HasImprovement);CivRegisterReplace<CivHooks::CvCity_HasImprovement>(host, &ReplaceCvCity_HasImprovement);
Code
17291bool CvCity::HasImprovement(ImprovementTypes iImprovementType) const17292{17293 int iX = getX(); int iY = getY(); int iOwner = getOwner();1729417295#if defined(MOD_GLOBAL_CITY_WORKING)17296 for (int iCityPlotLoop = 0; iCityPlotLoop < GetNumWorkablePlots(); iCityPlotLoop++)17297#else17298 for (int iCityPlotLoop = 0; iCityPlotLoop < NUM_CITY_PLOTS; iCityPlotLoop++)17299#endif17300 {17301 CvPlot* pLoopPlot = plotCity(iX, iY, iCityPlotLoop);1730217303 // Invalid plot or not owned by this player17304 if (pLoopPlot == NULL || pLoopPlot->getOwner() != iOwner) {17305 continue;17306 }1730717308 if (pLoopPlot->HasImprovement(iImprovementType)) {17309 return true;17310 }17311 }1731217313 return false;17314}