CvDiplomacyAI::DoTheySupportedOurProposal(PlayerTypes, DiploStatementTypes &)
- Defined in
- CvDiplomacyAI.cpp, line 16144
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal
Hooks
static bool BeforeCvDiplomacyAI_DoTheySupportedOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoTheySupportedOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoTheySupportedOurProposal(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal>(host, &BeforeCvDiplomacyAI_DoTheySupportedOurProposal);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal>(host, &AfterCvDiplomacyAI_DoTheySupportedOurProposal);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoTheySupportedOurProposal>(host, &ReplaceCvDiplomacyAI_DoTheySupportedOurProposal);
Code
16144void CvDiplomacyAI::DoTheySupportedOurProposal(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16145{16146 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16147 CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");1614816149 if(eStatement == NO_DIPLO_STATEMENT_TYPE)16150 {16151 DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16152 bool bEffect = GetSupportedMyProposalScore(ePlayer) != 0;16153 if (bEffect)16154 {16155 bool bSkip = false;16156 MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16157 MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16158 if(eOpinion <= MAJOR_CIV_OPINION_COMPETITOR)16159 bSkip = true;16160 if(eApproach == MAJOR_CIV_APPROACH_WAR || eApproach == MAJOR_CIV_APPROACH_HOSTILE)16161 bSkip = true;16162 if (!bSkip)16163 {16164 eTempStatement = DIPLO_STATEMENT_THEY_SUPPORTED_OUR_PROPOSAL;16165 int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_THEY_SUPPORTED_OUR_PROPOSAL_NUM_TURNS();1616616167 if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16168 eStatement = eTempStatement;16169 }16170 }16171 }16172}
Calls
- CvDiplomacyAI::GetMajorCivApproach(PlayerTypes, bool) const
- CvDiplomacyAI::GetMajorCivOpinion(PlayerTypes) const
- CvDiplomacyAI::GetNumTurnsSinceStatementSent(PlayerTypes, DiploStatementTypes)
- CvDiplomacyAI::GetSupportedMyProposalScore(PlayerTypes)
- CvGlobals::getOPINION_WEIGHT_THEY_SUPPORTED_OUR_PROPOSAL_NUM_TURNS()