CvLeague::DoEnactResolution(CvEnactProposal *)
- Defined in
- CvVotingClasses.cpp, line 5718
- Class
- CvLeague
- Hook name
CivHooks::CvLeague_DoEnactResolution
Hooks
static bool BeforeCvLeague_DoEnactResolution(CvLeague* self, CvEnactProposal* pProposal);static void AfterCvLeague_DoEnactResolution(CvLeague* self, CvEnactProposal* pProposal);static void ReplaceCvLeague_DoEnactResolution(void (*original)(CvLeague*, CvEnactProposal*), CvLeague* self, CvEnactProposal* pProposal);CivRegisterBefore<CivHooks::CvLeague_DoEnactResolution>(host, &BeforeCvLeague_DoEnactResolution);CivRegisterAfter<CivHooks::CvLeague_DoEnactResolution>(host, &AfterCvLeague_DoEnactResolution);CivRegisterReplace<CivHooks::CvLeague_DoEnactResolution>(host, &ReplaceCvLeague_DoEnactResolution);
Code
5718void CvLeague::DoEnactResolution(CvEnactProposal* pProposal)5719{5720 CvAssertMsg(pProposal->IsPassed(GetVotesSpentThisSession()), "Doing a proposal that has not been passed. Please send Anton your save file and version.");57215722 CvActiveResolution resolution(pProposal);5723 for (uint i = 0; i < m_vMembers.size(); i++)5724 {5725 resolution.DoEffects(m_vMembers[i].ePlayer);5726 }5727 5728 // Active Resolutions with only one-time effects immediately expire5729 if (resolution.HasOngoingEffects())5730 {5731 m_vActiveResolutions.push_back(resolution);5732 }5733 5734 //antonjs: todo: relocate these league-level effects:5735 for (uint i = 0; i < m_vMembers.size(); i++)5736 {5737 GET_PLAYER(m_vMembers[i].ePlayer).DoUpdateHappiness();5738 GET_PLAYER(m_vMembers[i].ePlayer).updateYield();5739 GET_PLAYER(m_vMembers[i].ePlayer).recomputeGreatPeopleModifiers();5740 }5741 LeagueProjectTypes eProject = resolution.GetEffects()->eLeagueProjectEnabled;5742 if (eProject != NO_LEAGUE_PROJECT)5743 {5744 CvAssertMsg(!IsProjectActive(eProject), "Trying to start a League Project that is already active. Please send Anton your save file and version.");5745 StartProject(eProject);5746 }57475748 m_iNumResolutionsEverEnacted++;5749}
Calls
BaseVector::operator[]BaseVector::size- CvActiveResolution::CvActiveResolution(CvEnactProposal *)
- CvActiveResolution::DoEffects(PlayerTypes)
- CvActiveResolution::HasOngoingEffects()
- CvLeague::StartProject(LeagueProjectTypes)
- CvPlayer::DoUpdateHappiness()
- CvPlayer::recomputeGreatPeopleModifiers()
- CvPlayer::updateYield()
- CvPlayerAI::getPlayer(PlayerTypes)
- CvResolution::GetEffects()
FStaticVector::push_back