CvDiplomacyAI::DoTheyFoiledOurProposal(PlayerTypes, DiploStatementTypes &)
- Defined in
- CvDiplomacyAI.cpp, line 16174
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal
Hooks
static bool BeforeCvDiplomacyAI_DoTheyFoiledOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoTheyFoiledOurProposal(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoTheyFoiledOurProposal(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal>(host, &BeforeCvDiplomacyAI_DoTheyFoiledOurProposal);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal>(host, &AfterCvDiplomacyAI_DoTheyFoiledOurProposal);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoTheyFoiledOurProposal>(host, &ReplaceCvDiplomacyAI_DoTheyFoiledOurProposal);
Code
16174void CvDiplomacyAI::DoTheyFoiledOurProposal(PlayerTypes ePlayer, DiploStatementTypes& eStatement)16175{16176 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");16177 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.");1617816179 if(eStatement == NO_DIPLO_STATEMENT_TYPE)16180 {16181 DiploStatementTypes eTempStatement = NO_DIPLO_STATEMENT_TYPE;16182 bool bEffect = GetFoiledMyProposalScore(ePlayer) != 0;16183 if (bEffect)16184 {16185 bool bSkip = false;16186 MajorCivOpinionTypes eOpinion = GetMajorCivOpinion(ePlayer);16187 MajorCivApproachTypes eApproach = GetMajorCivApproach(ePlayer, /*bHideTrueFeelings*/ true);16188 if(eOpinion >= MAJOR_CIV_OPINION_FAVORABLE)16189 bSkip = true;16190 if(eApproach == MAJOR_CIV_APPROACH_FRIENDLY)16191 bSkip = true;16192 if (!bSkip)16193 {16194 eTempStatement = DIPLO_STATEMENT_THEY_FOILED_OUR_PROPOSAL;16195 int iTurnsBetweenStatements = GC.getOPINION_WEIGHT_THEY_FOILED_OUR_PROPOSAL_NUM_TURNS();1619616197 if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)16198 eStatement = eTempStatement;16199 }16200 }16201 }16202}
Calls
- CvDiplomacyAI::GetFoiledMyProposalScore(PlayerTypes)
- CvDiplomacyAI::GetMajorCivApproach(PlayerTypes, bool) const
- CvDiplomacyAI::GetMajorCivOpinion(PlayerTypes) const
- CvDiplomacyAI::GetNumTurnsSinceStatementSent(PlayerTypes, DiploStatementTypes)
- CvGlobals::getOPINION_WEIGHT_THEY_FOILED_OUR_PROPOSAL_NUM_TURNS()