Bazaar developer reference

CvCityCitizens::IsCanAddSpecialistToBuilding(BuildingTypes)

Defined in
CvCityCitizens.cpp, line 2311
Class
CvCityCitizens
Hook name
CivHooks::CvCityCitizens_IsCanAddSpecialistToBuilding

Hooks

static bool BeforeCvCityCitizens_IsCanAddSpecialistToBuilding(CvCityCitizens* self, BuildingTypes eBuilding, bool& result);static void AfterCvCityCitizens_IsCanAddSpecialistToBuilding(CvCityCitizens* self, BuildingTypes eBuilding, bool& result);static bool ReplaceCvCityCitizens_IsCanAddSpecialistToBuilding(bool (*original)(CvCityCitizens*, BuildingTypes), CvCityCitizens* self, BuildingTypes eBuilding);CivRegisterBefore<CivHooks::CvCityCitizens_IsCanAddSpecialistToBuilding>(host, &BeforeCvCityCitizens_IsCanAddSpecialistToBuilding);CivRegisterAfter<CivHooks::CvCityCitizens_IsCanAddSpecialistToBuilding>(host, &AfterCvCityCitizens_IsCanAddSpecialistToBuilding);CivRegisterReplace<CivHooks::CvCityCitizens_IsCanAddSpecialistToBuilding>(host, &ReplaceCvCityCitizens_IsCanAddSpecialistToBuilding);

Code

2310/// Are we in the position to add another Specialist to eBuilding?2311bool CvCityCitizens::IsCanAddSpecialistToBuilding(BuildingTypes eBuilding)2312{2313	CvAssert(eBuilding > -1);2314	CvAssert(eBuilding < GC.getNumBuildingInfos());23152316	int iNumSpecialistsAssigned = GetNumSpecialistsInBuilding(eBuilding);23172318#if defined(MOD_GLOBAL_CITY_AUTOMATON_WORKERS)2319	if(iNumSpecialistsAssigned < GetCity()->getPopulation(true) &&	// Limit based on Pop of City2320#else2321	if(iNumSpecialistsAssigned < GetCity()->getPopulation() &&	// Limit based on Pop of City2322#endif2323	        iNumSpecialistsAssigned < GC.getBuildingInfo(eBuilding)->GetSpecialistCount() &&				// Limit for this particular Building2324	        iNumSpecialistsAssigned < GC.getMAX_SPECIALISTS_FROM_BUILDING())	// Overall Limit2325	{2326		return true;2327	}23282329	return false;2330}

Calls

Called by