Bazaar developer reference

CvLeagueAI::ScoreProposal(CvLeague *, CvActiveResolution *)

Defined in
CvVotingClasses.cpp, line 9857
Class
CvLeagueAI
Hook name
CivHooks::CvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution

Hooks

static bool BeforeCvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution(CvLeagueAI* self, CvLeague* pLeague, CvActiveResolution* pResolution, int& result);static void AfterCvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution(CvLeagueAI* self, CvLeague* pLeague, CvActiveResolution* pResolution, int& result);static int ReplaceCvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution(int (*original)(CvLeagueAI*, CvLeague*, CvActiveResolution*), CvLeagueAI* self, CvLeague* pLeague, CvActiveResolution* pResolution);CivRegisterBefore<CivHooks::CvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution>(host, &BeforeCvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution);CivRegisterAfter<CivHooks::CvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution>(host, &AfterCvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution);CivRegisterReplace<CivHooks::CvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution>(host, &ReplaceCvLeagueAI_ScoreProposal_with_CvLeague_CvActiveResolution);

Code

9857int CvLeagueAI::ScoreProposal(CvLeague* pLeague, CvActiveResolution* pResolution)9858{9859	CvRepealProposal fakeProposal(pResolution, /*eProposalPlayer*/NO_PLAYER);98609861	// How much do we like our YES vote on this proposal?9862	int iYesScore = 0;9863	bool bFoundYes = false;9864	ResolutionDecisionTypes eVoteDecision = fakeProposal.GetRepealDecision()->GetType();9865	if (eVoteDecision == RESOLUTION_DECISION_REPEAL)9866	{9867		std::vector<int> vVoteChoices = pLeague->GetChoicesForDecision(fakeProposal.GetRepealDecision()->GetType(), GetPlayer()->GetID());9868		CvAssert(!vVoteChoices.empty());9869		for (uint i = 0; i < vVoteChoices.size(); i++)9870		{9871			if (vVoteChoices[i] == LeagueHelpers::CHOICE_YES)9872			{9873				iYesScore = ScoreVoteChoice(&fakeProposal, vVoteChoices[i]);9874				bFoundYes = true;9875				break;9876			}9877		}9878	}9879	CvAssert(bFoundYes);98809881	return iYesScore;9882}

Calls

Called by