Bazaar developer reference

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

Called by