CvDiplomacyAI::DoWeBulliedYourMinorStatement(PlayerTypes, DiploStatementTypes &, int &)
- Defined in
- CvDiplomacyAI.cpp, line 14107
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_DoWeBulliedYourMinorStatement
Hooks
static bool BeforeCvDiplomacyAI_DoWeBulliedYourMinorStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void AfterCvDiplomacyAI_DoWeBulliedYourMinorStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void ReplaceCvDiplomacyAI_DoWeBulliedYourMinorStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, int&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoWeBulliedYourMinorStatement>(host, &BeforeCvDiplomacyAI_DoWeBulliedYourMinorStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoWeBulliedYourMinorStatement>(host, &AfterCvDiplomacyAI_DoWeBulliedYourMinorStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoWeBulliedYourMinorStatement>(host, &ReplaceCvDiplomacyAI_DoWeBulliedYourMinorStatement);
Code
14106/// Possible Contact Statement14107void CvDiplomacyAI::DoWeBulliedYourMinorStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1)14108{14109 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Anton your save file and version.");14110 CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index. Please send Anton your save file and version.");1411114112 if(eStatement == NO_DIPLO_STATEMENT_TYPE)14113 {14114 PlayerTypes eMinor;14115 for(int iMinorCivLoop = MAX_MAJOR_CIVS; iMinorCivLoop < MAX_CIV_PLAYERS; iMinorCivLoop++)14116 {14117 eMinor = (PlayerTypes) iMinorCivLoop;1411814119 // Minor must be alive14120 if(!GET_PLAYER(eMinor).isAlive())14121 continue;1412214123 // Did we bully this minor last turn?14124 if(GET_PLAYER(eMinor).GetMinorCivAI()->IsEverBulliedByMajor(GetPlayer()->GetID()))14125 {14126 if(GET_PLAYER(eMinor).GetMinorCivAI()->GetTurnLastBulliedByMajor(GetPlayer()->GetID()) == (GC.getGame().getGameTurn() - 1))14127 {14128 // Is this minor protected by this player?14129 if(GET_PLAYER(eMinor).GetMinorCivAI()->IsProtectedByMajor(ePlayer))14130 {14131 DiploStatementTypes eTempStatement = DIPLO_STATEMENT_WE_BULLIED_YOUR_MINOR;14132 int iTurnsBetweenStatements = 1;1413314134 if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)14135 {14136 CvAssert(eMinor >= MAX_MAJOR_CIVS);14137 CvAssert(eMinor < MAX_CIV_PLAYERS);1413814139 eStatement = eTempStatement;14140 iData1 = eMinor;14141 }14142 }14143 }14144 }14145 }14146 }14147}
Calls
- CvDiplomacyAI::GetNumTurnsSinceStatementSent(PlayerTypes, DiploStatementTypes)
- CvDiplomacyAI::GetPlayer()
- CvGame::getGameTurn()
- CvGlobals::getGame()
- CvMinorCivAI::GetTurnLastBulliedByMajor(PlayerTypes) const
- CvMinorCivAI::IsEverBulliedByMajor(PlayerTypes) const
- CvMinorCivAI::IsProtectedByMajor(PlayerTypes) const
- CvPlayer::GetID() const
- CvPlayer::GetMinorCivAI() const
- CvPlayer::isAlive() const
- CvPlayerAI::getPlayer(PlayerTypes)