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}