Bazaar developer reference

CvStartPositioner::MeetsFoodRequirement(CvPlot *, TeamTypes, int)

Defined in
CvStartPositioner.cpp, line 756
Class
CvStartPositioner
Hook name
CivHooks::CvStartPositioner_MeetsFoodRequirement

Hooks

static bool BeforeCvStartPositioner_MeetsFoodRequirement(CvStartPositioner* self, CvPlot* pPlot, TeamTypes eTeam, int iFoodRequirement, bool& result);static void AfterCvStartPositioner_MeetsFoodRequirement(CvStartPositioner* self, CvPlot* pPlot, TeamTypes eTeam, int iFoodRequirement, bool& result);static bool ReplaceCvStartPositioner_MeetsFoodRequirement(bool (*original)(CvStartPositioner*, CvPlot*, TeamTypes, int), CvStartPositioner* self, CvPlot* pPlot, TeamTypes eTeam, int iFoodRequirement);CivRegisterBefore<CivHooks::CvStartPositioner_MeetsFoodRequirement>(host, &BeforeCvStartPositioner_MeetsFoodRequirement);CivRegisterAfter<CivHooks::CvStartPositioner_MeetsFoodRequirement>(host, &AfterCvStartPositioner_MeetsFoodRequirement);CivRegisterReplace<CivHooks::CvStartPositioner_MeetsFoodRequirement>(host, &ReplaceCvStartPositioner_MeetsFoodRequirement);

Code

755/// Does it have a good food plot?756bool CvStartPositioner::MeetsFoodRequirement(CvPlot* pPlot, TeamTypes eTeam, int iFoodRequirement)757{758	CvPlot* pLoopPlot(NULL);759	bool bFoundFoodPlot = false;760761	CvAssert(pPlot);762	if(!pPlot)763		return bFoundFoodPlot;764765	for(int iI = 0; iI < NUM_DIRECTION_TYPES; ++iI)766	{767		pLoopPlot = plotDirection(pPlot->getX(), pPlot->getY(), ((DirectionTypes)iI));768		if(pLoopPlot == NULL)769		{770			return false;   // Right at map edge771		}772		else773		{774			if(pLoopPlot->calculateNatureYield(YIELD_FOOD, eTeam, false) >= iFoodRequirement)775			{776				bFoundFoodPlot = true;777				break;778			}779		}780	}781	return bFoundFoodPlot;782}

Calls

Called by