Bazaar developer reference

CvCityCitizens::IsCanWork(CvPlot *) const

Defined in
CvCityCitizens.cpp, line 1967
Class
CvCityCitizens
Hook name
CivHooks::CvCityCitizens_IsCanWork

Hooks

static bool BeforeCvCityCitizens_IsCanWork(const CvCityCitizens* self, CvPlot* pPlot, bool& result);static void AfterCvCityCitizens_IsCanWork(const CvCityCitizens* self, CvPlot* pPlot, bool& result);static bool ReplaceCvCityCitizens_IsCanWork(bool (*original)(const CvCityCitizens*, CvPlot*), const CvCityCitizens* self, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvCityCitizens_IsCanWork>(host, &BeforeCvCityCitizens_IsCanWork);CivRegisterAfter<CivHooks::CvCityCitizens_IsCanWork>(host, &AfterCvCityCitizens_IsCanWork);CivRegisterReplace<CivHooks::CvCityCitizens_IsCanWork>(host, &ReplaceCvCityCitizens_IsCanWork);

Code

1966/// Can our City work a particular CvPlot?1967bool CvCityCitizens::IsCanWork(CvPlot* pPlot) const1968{1969	if(pPlot->getWorkingCity() != m_pCity)1970	{1971		return false;1972	}19731974	CvAssertMsg(GetCityIndexFromPlot(pPlot) != -1, "GetCityIndexFromPlot(pPlot) is expected to be assigned (not -1)");19751976	if(pPlot->plotCheck(PUF_canSiege, GetOwner()) != NULL)1977	{1978		return false;1979	}19801981	if(pPlot->isWater())1982	{1983		if(!(GET_TEAM(GetTeam()).isWaterWork()))1984		{1985			return false;1986		}19871988	}19891990	if(!pPlot->hasYield())1991	{1992		return false;1993	}19941995	if(IsPlotBlockaded(pPlot))1996	{1997		return false;1998	}19992000	return true;2001}

Calls

Called by