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
- CvLeague::GetChoicesForDecision(ResolutionDecisionTypes, PlayerTypes)
- CvLeagueAI::GetPlayer()
- CvLeagueAI::ScoreVoteChoice(CvRepealProposal *, int)
- CvPlayer::GetID() const
- CvRepealProposal::CvRepealProposal(CvActiveResolution *, PlayerTypes)
- CvRepealProposal::GetRepealDecision()
- CvResolutionDecision::GetType() const
std::vector::operator[]std::vector::size