Bazaar developer reference

CvLeagueAI::EvaluateVoteForTrade(int, int, int, bool)

Defined in
CvVotingClasses.cpp, line 7957
Class
CvLeagueAI
Hook name
CivHooks::CvLeagueAI_EvaluateVoteForTrade

Hooks

static bool BeforeCvLeagueAI_EvaluateVoteForTrade(CvLeagueAI* self, int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal, CvLeagueAI::DesireLevels& result);static void AfterCvLeagueAI_EvaluateVoteForTrade(CvLeagueAI* self, int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal, CvLeagueAI::DesireLevels& result);static CvLeagueAI::DesireLevels ReplaceCvLeagueAI_EvaluateVoteForTrade(CvLeagueAI::DesireLevels (*original)(CvLeagueAI*, int, int, int, bool), CvLeagueAI* self, int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal);CivRegisterBefore<CivHooks::CvLeagueAI_EvaluateVoteForTrade>(host, &BeforeCvLeagueAI_EvaluateVoteForTrade);CivRegisterAfter<CivHooks::CvLeagueAI_EvaluateVoteForTrade>(host, &AfterCvLeagueAI_EvaluateVoteForTrade);CivRegisterReplace<CivHooks::CvLeagueAI_EvaluateVoteForTrade>(host, &ReplaceCvLeagueAI_EvaluateVoteForTrade);

Code

7956// How much do we like this vote commitment (either from us to someone else, or from someone else to us)?7957CvLeagueAI::DesireLevels CvLeagueAI::EvaluateVoteForTrade(int iResolutionID, int iVoteChoice, int iNumVotes, bool bRepeal)7958{7959	DEBUG_VARIABLE(iNumVotes);7960	DesireLevels eValue = DESIRE_NEVER;7961	7962	if (GC.getGame().GetGameLeagues()->GetNumActiveLeagues() > 0)7963	{7964		CvLeague* pLeague = GC.getGame().GetGameLeagues()->GetActiveLeague();7965		CvAssert(pLeague != NULL);7966		if (pLeague != NULL)7967		{7968			CvAssert(iNumVotes == pLeague->GetCoreVotesForMember(GetPlayer()->GetID()));7969			if (pLeague->IsProposed(iResolutionID, bRepeal))7970			{7971				// Vote to repeal7972				if (bRepeal)7973				{7974					RepealProposalList vProposals = pLeague->GetRepealProposals();7975					for (RepealProposalList::iterator it = vProposals.begin(); it != vProposals.end(); ++it)7976					{7977						if (it->GetID() == iResolutionID)7978						{7979							eValue = EvaluateDesire(ScoreVoteChoice(it, iVoteChoice));7980							break;7981						}7982					}7983				}7984				// Vote to enact7985				else7986				{7987					EnactProposalList vProposals = pLeague->GetEnactProposals();7988					for (EnactProposalList::iterator it = vProposals.begin(); it != vProposals.end(); ++it)7989					{7990						if (it->GetID() == iResolutionID)7991						{7992							eValue = EvaluateDesire(ScoreVoteChoice(it, iVoteChoice));7993							break;7994						}7995					}7996				}7997			}7998		}7999	}80008001	return eValue;8002}

Calls

Called by