Bazaar developer reference

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}

Calls

Called by