CvPlayerAI::ProcessGreatPeople()
- Defined in
- CvPlayerAI.cpp, line 985
- Class
- CvPlayerAI
- Hook name
CivHooks::CvPlayerAI_ProcessGreatPeople
Hooks
static bool BeforeCvPlayerAI_ProcessGreatPeople(CvPlayerAI* self);static void AfterCvPlayerAI_ProcessGreatPeople(CvPlayerAI* self);static void ReplaceCvPlayerAI_ProcessGreatPeople(void (*original)(CvPlayerAI*), CvPlayerAI* self);CivRegisterBefore<CivHooks::CvPlayerAI_ProcessGreatPeople>(host, &BeforeCvPlayerAI_ProcessGreatPeople);CivRegisterAfter<CivHooks::CvPlayerAI_ProcessGreatPeople>(host, &AfterCvPlayerAI_ProcessGreatPeople);CivRegisterReplace<CivHooks::CvPlayerAI_ProcessGreatPeople>(host, &ReplaceCvPlayerAI_ProcessGreatPeople);
Code
985void CvPlayerAI::ProcessGreatPeople(void)986{987 SpecialUnitTypes eSpecialUnitGreatPerson = (SpecialUnitTypes) GC.getInfoTypeForString("SPECIALUNIT_PEOPLE");988989 CvAssert(isAlive());990991 if(!isAlive())992 return;993994 int iLoop;995 for(CvUnit* pLoopUnit = firstUnit(&iLoop); pLoopUnit; pLoopUnit = nextUnit(&iLoop))996 {997 if(pLoopUnit->getSpecialUnitType() != eSpecialUnitGreatPerson)998 {999 continue;1000 }10011002 GreatPeopleDirectiveTypes eDirective = NO_GREAT_PEOPLE_DIRECTIVE_TYPE;1003 switch(pLoopUnit->AI_getUnitAIType())1004 {1005 case UNITAI_WRITER:1006 eDirective = GetDirectiveWriter(pLoopUnit);1007 break;1008 case UNITAI_ARTIST:1009 eDirective = GetDirectiveArtist(pLoopUnit);1010 break;1011 case UNITAI_MUSICIAN:1012 eDirective = GetDirectiveMusician(pLoopUnit);1013 break;1014 case UNITAI_ENGINEER:1015 eDirective = GetDirectiveEngineer(pLoopUnit);1016 break;1017 case UNITAI_MERCHANT:1018 eDirective = GetDirectiveMerchant(pLoopUnit);1019 break;1020 case UNITAI_SCIENTIST:1021 eDirective = GetDirectiveScientist(pLoopUnit);1022 break;1023 case UNITAI_GENERAL:1024 eDirective = GetDirectiveGeneral(pLoopUnit);1025 break;1026 case UNITAI_PROPHET:1027 eDirective = GetDirectiveProphet(pLoopUnit);1028 break;1029 case UNITAI_ADMIRAL:1030 eDirective = GetDirectiveAdmiral(pLoopUnit);1031 break;1032 }10331034 pLoopUnit->SetGreatPeopleDirective(eDirective);1035 }1036}
Calls
- CvGlobals::getInfoTypeForString(const char *, bool) const
- CvPlayer::firstUnit(int *, bool)
- CvPlayer::isAlive() const
- CvPlayer::nextUnit(int *, bool)
- CvPlayerAI::GetDirectiveAdmiral(CvUnit *)
- CvPlayerAI::GetDirectiveArtist(CvUnit *)
- CvPlayerAI::GetDirectiveEngineer(CvUnit *)
- CvPlayerAI::GetDirectiveGeneral(CvUnit *)
- CvPlayerAI::GetDirectiveMerchant(CvUnit *)
- CvPlayerAI::GetDirectiveMusician(CvUnit *)
- CvPlayerAI::GetDirectiveProphet(CvUnit *)
- CvPlayerAI::GetDirectiveScientist(CvUnit *)
- CvPlayerAI::GetDirectiveWriter(CvUnit *)
- CvUnit::AI_getUnitAIType() const
- CvUnit::getSpecialUnitType() const
- CvUnit::SetGreatPeopleDirective(GreatPeopleDirectiveTypes)