CvLeague::DoProjectRewards(LeagueProjectTypes)
- Defined in
- CvVotingClasses.cpp, line 6178
- Class
- CvLeague
- Hook name
CivHooks::CvLeague_DoProjectRewards
Hooks
static bool BeforeCvLeague_DoProjectRewards(CvLeague* self, LeagueProjectTypes eLeagueProject);static void AfterCvLeague_DoProjectRewards(CvLeague* self, LeagueProjectTypes eLeagueProject);static void ReplaceCvLeague_DoProjectRewards(void (*original)(CvLeague*, LeagueProjectTypes), CvLeague* self, LeagueProjectTypes eLeagueProject);CivRegisterBefore<CivHooks::CvLeague_DoProjectRewards>(host, &BeforeCvLeague_DoProjectRewards);CivRegisterAfter<CivHooks::CvLeague_DoProjectRewards>(host, &AfterCvLeague_DoProjectRewards);CivRegisterReplace<CivHooks::CvLeague_DoProjectRewards>(host, &ReplaceCvLeague_DoProjectRewards);
Code
6178void CvLeague::DoProjectRewards(LeagueProjectTypes eLeagueProject)6179{6180 CvLeagueProjectEntry* pProjectInfo = GC.getLeagueProjectInfo(eLeagueProject);6181 CvAssert(pProjectInfo);6182 if (!pProjectInfo) return;61836184 int iTopTierRecipients = 0;6185 for (MemberList::iterator it = m_vMembers.begin(); it != m_vMembers.end(); it++)6186 {6187 PlayerTypes eMember = it->ePlayer;6188 if (GET_PLAYER(eMember).isAlive() && !GET_PLAYER(eMember).isMinorCiv())6189 {6190 ContributionTier eTier = GetMemberContributionTier(eMember, eLeagueProject);61916192 // Break ties for top reward tier - Only one can get it, give it to the first6193 if (eTier == CONTRIBUTION_TIER_3)6194 {6195 iTopTierRecipients++;6196 }6197 if (iTopTierRecipients > 1)6198 {6199 eTier = CONTRIBUTION_TIER_2;6200 iTopTierRecipients--;6201 }62026203 DoProjectReward(eMember, eLeagueProject, eTier);6204 6205 //antonjs: todo: undo rewards when killed and/or project is repeated6206 }6207 }6208}
Calls
BaseVector::beginBaseVector::end- CvGlobals::getLeagueProjectInfo(LeagueProjectTypes)
- CvLeague::DoProjectReward(PlayerTypes, LeagueProjectTypes, ContributionTier)
- CvLeague::GetMemberContributionTier(PlayerTypes, LeagueProjectTypes)
- CvPlayer::isAlive() const
- CvPlayer::isMinorCiv() const
- CvPlayerAI::getPlayer(PlayerTypes)