CvTeam::GetProjectedVotesFromMinorAllies() const
- Defined in
- CvTeam.cpp, line 2046
- Class
- CvTeam
- Hook name
CivHooks::CvTeam_GetProjectedVotesFromMinorAllies
Hooks
static bool BeforeCvTeam_GetProjectedVotesFromMinorAllies(const CvTeam* self, int& result);static void AfterCvTeam_GetProjectedVotesFromMinorAllies(const CvTeam* self, int& result);static int ReplaceCvTeam_GetProjectedVotesFromMinorAllies(int (*original)(const CvTeam*), const CvTeam* self);CivRegisterBefore<CivHooks::CvTeam_GetProjectedVotesFromMinorAllies>(host, &BeforeCvTeam_GetProjectedVotesFromMinorAllies);CivRegisterAfter<CivHooks::CvTeam_GetProjectedVotesFromMinorAllies>(host, &AfterCvTeam_GetProjectedVotesFromMinorAllies);CivRegisterReplace<CivHooks::CvTeam_GetProjectedVotesFromMinorAllies>(host, &ReplaceCvTeam_GetProjectedVotesFromMinorAllies);
Code
2045/// How many votes are we likely to get from City-State allies in the upcoming election?2046int CvTeam::GetProjectedVotesFromMinorAllies() const2047{2048 int iVotes = 0;2049 if (isAlive())2050 {2051 for (int iTeamLoop = 0; iTeamLoop < MAX_CIV_TEAMS; iTeamLoop++)2052 {2053 TeamTypes eTeamLoop = (TeamTypes) iTeamLoop;2054 CvTeam* pTeamLoop = &GET_TEAM(eTeamLoop);2055 if (pTeamLoop->isAlive() && pTeamLoop->isMinorCiv() && !pTeamLoop->isBarbarian())2056 {2057 // Minor civ team votes are definite things, given the situation doesn't change2058 if (GET_TEAM(eTeamLoop).GetTeamVotingForInDiplo() == GetID())2059 {2060 // Liberated minors are handled elsewhere 2061 if (GetLiberatedByTeam() != GetID())2062 {2063 iVotes++;2064 }2065 }2066 }2067 }2068 }20692070 return iVotes;2071}