CvDiplomacyAI::DoTheySupportedOurHosting(PlayerTypes, DiploStatementTypes &)
- Defined in
- CvDiplomacyAI.cpp, line 16204
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_DoTheySupportedOurHosting
Hooks
static bool BeforeCvDiplomacyAI_DoTheySupportedOurHosting(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoTheySupportedOurHosting(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoTheySupportedOurHosting(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoTheySupportedOurHosting>(host, &BeforeCvDiplomacyAI_DoTheySupportedOurHosting);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoTheySupportedOurHosting>(host, &AfterCvDiplomacyAI_DoTheySupportedOurHosting);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoTheySupportedOurHosting>(host, &ReplaceCvDiplomacyAI_DoTheySupportedOurHosting);
Code
16204void CvDiplomacyAI::DoTheySupportedOurHosting(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16205{16206 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16207 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.");1620816209 if(eStatement == NO_DIPLO_STATEMENT_TYPE)16210 {16211 DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16212 bool bEffect = GetSupportedMyHostingScore(ePlayer) != 0;16213 if (bEffect)16214 {16215 bool bSkip = false;16216 MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16217 MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16218 if(eOpinion <= MAJOR_CIV_OPINION_COMPETITOR)16219 bSkip = true;16220 if(eApproach == MAJOR_CIV_APPROACH_WAR || eApproach == MAJOR_CIV_APPROACH_HOSTILE)16221 bSkip = true;16222 if (!bSkip)16223 {16224 eTempStatement = DIPLO_STATEMENT_THEY_SUPPORTED_OUR_HOSTING;16225 int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_THEY_SUPPORTED_OUR_HOSTING_NUM_TURNS();1622616227 if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16228 eStatement = eTempStatement;16229 }16230 }16231 }16232}
Calls
- CvDiplomacyAI::GetMajorCivApproach(PlayerTypes, bool) const
- CvDiplomacyAI::GetMajorCivOpinion(PlayerTypes) const
- CvDiplomacyAI::GetNumTurnsSinceStatementSent(PlayerTypes, DiploStatementTypes)
- CvDiplomacyAI::GetSupportedMyHostingScore(PlayerTypes)
- CvGlobals::getOPINION_WEIGHT_THEY_SUPPORTED_OUR_HOSTING_NUM_TURNS()