CvBuilderTaskingAI::DoesBuildHelpRush(CvUnit *, CvPlot *, BuildTypes)
- Defined in
- CvBuilderTaskingAI.cpp, line 2194
- Class
- CvBuilderTaskingAI
- Hook name
CivHooks::CvBuilderTaskingAI_DoesBuildHelpRush
Hooks
static bool BeforeCvBuilderTaskingAI_DoesBuildHelpRush(CvBuilderTaskingAI* self, CvUnit* pUnit, CvPlot* pPlot, BuildTypes eBuild, bool& result);static void AfterCvBuilderTaskingAI_DoesBuildHelpRush(CvBuilderTaskingAI* self, CvUnit* pUnit, CvPlot* pPlot, BuildTypes eBuild, bool& result);static bool ReplaceCvBuilderTaskingAI_DoesBuildHelpRush(bool (*original)(CvBuilderTaskingAI*, CvUnit*, CvPlot*, BuildTypes), CvBuilderTaskingAI* self, CvUnit* pUnit, CvPlot* pPlot, BuildTypes eBuild);CivRegisterBefore<CivHooks::CvBuilderTaskingAI_DoesBuildHelpRush>(host, &BeforeCvBuilderTaskingAI_DoesBuildHelpRush);CivRegisterAfter<CivHooks::CvBuilderTaskingAI_DoesBuildHelpRush>(host, &AfterCvBuilderTaskingAI_DoesBuildHelpRush);CivRegisterReplace<CivHooks::CvBuilderTaskingAI_DoesBuildHelpRush>(host, &ReplaceCvBuilderTaskingAI_DoesBuildHelpRush);
Code
2193/// Does this city want to rush a unit?2194bool CvBuilderTaskingAI::DoesBuildHelpRush(CvUnit* pUnit, CvPlot* pPlot, BuildTypes eBuild)2195{2196 CvCity* pCity = NULL;2197 int iProduction = pPlot->getFeatureProduction(eBuild, pUnit->getOwner(), &pCity);2198 if(iProduction <= 0)2199 {2200 return false;2201 }22022203 if(!pCity)2204 {2205 // this chop does not benefit any city2206 return false;2207 }22082209 if(pCity->getOrderQueueLength() <= 0)2210 {2211 // nothing in the build queue2212 return false;2213 }22142215 if(!(pCity->getOrderFromQueue(0)->bRush))2216 {2217 // this order should not be rushed2218 return false;2219 }22202221 return true;2222}