Bazaar developer reference

CvDiplomacyAI::DoBulliedCityStateStatement(PlayerTypes, DiploStatementTypes &, int &)

Defined in
CvDiplomacyAI.cpp, line 13912
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoBulliedCityStateStatement

Hooks

static bool BeforeCvDiplomacyAI_DoBulliedCityStateStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void AfterCvDiplomacyAI_DoBulliedCityStateStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void ReplaceCvDiplomacyAI_DoBulliedCityStateStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, int&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoBulliedCityStateStatement>(host, &BeforeCvDiplomacyAI_DoBulliedCityStateStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoBulliedCityStateStatement>(host, &AfterCvDiplomacyAI_DoBulliedCityStateStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoBulliedCityStateStatement>(host, &ReplaceCvDiplomacyAI_DoBulliedCityStateStatement);

Code

13911/// Possible Contact Statement13912void CvDiplomacyAI::DoBulliedCityStateStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1)13913{13914	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Anton your save file and version.");13915	CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index.  Please send Anton your save file and version.");1391613917	if(eStatement == NO_DIPLO_STATEMENT_TYPE)13918	{13919		// Bullied a City State we're protective towards13920		if(GetTurnsSincePlayerBulliedProtectedMinor(ePlayer) == 0)13921		{13922			// Have we asked you to make a promise before?13923			if(IsPlayerBrokenBullyCityStatePromise(ePlayer) ||13924			        IsPlayerIgnoredBullyCityStatePromise(ePlayer))13925			{13926				// We don't even want to bother with you again, so do nothing13927			}13928			else if(IsPlayerMadeBullyCityStatePromise(ePlayer))13929			{13930				// You broke the promise you made!13931				SetPlayerBrokenBullyCityStatePromise(ePlayer, true);13932				SetPlayerMadeBullyCityStatePromise(ePlayer, false);13933			}13934			// Otherwise, ask you to make a promise13935			else13936			{13937				DiploStatementTypes eTempStatement = DIPLO_STATEMENT_BULLIED_PROTECTED_CITY_STATE;13938				int iTurnsBetweenStatements = 1;1393913940				if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)13941				{13942					PlayerTypes eMinorCiv = GetOtherPlayerProtectedMinorBullied(ePlayer);13943					if(eMinorCiv != NO_PLAYER)13944					{13945						CvAssert(eMinorCiv >= MAX_MAJOR_CIVS);13946						CvAssert(eMinorCiv < MAX_CIV_PLAYERS);13947						// Minor civ must still be alive!13948						if(GET_PLAYER(eMinorCiv).isAlive())13949						{13950							eStatement = eTempStatement;13951							iData1 = eMinorCiv;13952						}13953					}13954				}13955			}13956		}13957	}13958}

Calls

Called by