CvPlayer::DoGreatPeopleSpawnTurn()
- Defined in
- CvPlayer.cpp, line 14965
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_DoGreatPeopleSpawnTurn
Hooks
static bool BeforeCvPlayer_DoGreatPeopleSpawnTurn(CvPlayer* self);static void AfterCvPlayer_DoGreatPeopleSpawnTurn(CvPlayer* self);static void ReplaceCvPlayer_DoGreatPeopleSpawnTurn(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_DoGreatPeopleSpawnTurn>(host, &BeforeCvPlayer_DoGreatPeopleSpawnTurn);CivRegisterAfter<CivHooks::CvPlayer_DoGreatPeopleSpawnTurn>(host, &AfterCvPlayer_DoGreatPeopleSpawnTurn);CivRegisterReplace<CivHooks::CvPlayer_DoGreatPeopleSpawnTurn>(host, &ReplaceCvPlayer_DoGreatPeopleSpawnTurn);
Code
14964/// Time to spawn a GreatPeople?14965void CvPlayer::DoGreatPeopleSpawnTurn()14966{14967 // Tick down14968 if(GetGreatPeopleSpawnCounter() > 0)14969 {14970 AI_PERF_FORMAT("AI-perf.csv", ("CvPlayer::DoGreatPeopleSpawnTurn, Turn %03d, %s", GC.getGame().getElapsedGameTurns(), getCivilizationShortDescription()) );14971 ChangeGreatPeopleSpawnCounter(-1);1497214973 // Time to spawn! - Pick a random allied minor14974 if(GetGreatPeopleSpawnCounter() == 0)14975 {14976 PlayerTypes eBestMinor = NO_PLAYER;14977 int iBestScore = -1;14978 int iScore;1497914980 PlayerTypes eMinor;14981 for(int iMinorLoop = MAX_MAJOR_CIVS; iMinorLoop < MAX_CIV_PLAYERS; iMinorLoop++)14982 {14983 eMinor = (PlayerTypes) iMinorLoop;1498414985 // Not alive14986 if(!GET_PLAYER(eMinor).isAlive())14987 continue;1498814989 // Not an ally14990 if(GET_PLAYER(eMinor).GetMinorCivAI()->GetAlly() != GetID())14991 continue;1499214993 iScore = GC.getGame().getJonRandNum(100, "Random minor great person gift location.");1499414995 // Best ally yet?14996 if(eBestMinor == NO_PLAYER || iScore > iBestScore)14997 {14998 eBestMinor = eMinor;14999 iBestScore = iScore;15000 }15001 }1500215003 if(eBestMinor != NO_PLAYER)15004#if defined(MOD_GLOBAL_TRULY_FREE_GP)15005 DoSpawnGreatPerson(eBestMinor, MOD_GLOBAL_TRULY_FREE_GP);15006#else15007 DoSpawnGreatPerson(eBestMinor);15008#endif1500915010 // Reseed counter15011 DoSeedGreatPeopleSpawnCounter();15012 }15013 }15014}
Calls
- CustomMods::isGLOBAL_TRULY_FREE_GP()
- CvGame::getJonRandNum(int, const char *)
- CvGlobals::getGame()
- CvMinorCivAI::GetAlly() const
- CvPlayer::ChangeGreatPeopleSpawnCounter(int)
- CvPlayer::DoSeedGreatPeopleSpawnCounter()
- CvPlayer::DoSpawnGreatPerson(PlayerTypes, bool)
- CvPlayer::GetGreatPeopleSpawnCounter()
- CvPlayer::GetID() const
- CvPlayer::GetMinorCivAI() const
- CvPlayer::isAlive() const
- CvPlayerAI::getPlayer(PlayerTypes)