Bazaar developer reference

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

Defined in
CvDiplomacyAI.cpp, line 13879
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoAttackedCityStateStatement

Hooks

static bool BeforeCvDiplomacyAI_DoAttackedCityStateStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void AfterCvDiplomacyAI_DoAttackedCityStateStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);static void ReplaceCvDiplomacyAI_DoAttackedCityStateStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&, int&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoAttackedCityStateStatement>(host, &BeforeCvDiplomacyAI_DoAttackedCityStateStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoAttackedCityStateStatement>(host, &AfterCvDiplomacyAI_DoAttackedCityStateStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoAttackedCityStateStatement>(host, &ReplaceCvDiplomacyAI_DoAttackedCityStateStatement);

Code

13878/// Possible Contact Statement13879void CvDiplomacyAI::DoAttackedCityStateStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement, int& iData1)13880{13881	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");13882	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.");1388313884	// Attacked a City State we're protective towards13885	if(eStatement == NO_DIPLO_STATEMENT_TYPE)13886	{13887		if(GetTurnsSincePlayerAttackedProtectedMinor(ePlayer) == 0)13888		{13889			DiploStatementTypes eTempStatement = DIPLO_STATEMENT_ATTACKED_PROTECTED_CITY_STATE;13890			int iTurnsBetweenStatements = 1;1389113892			if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)13893			{13894				PlayerTypes eMinorCiv = GetOtherPlayerProtectedMinorAttacked(ePlayer);13895				if(eMinorCiv != NO_PLAYER)13896				{13897					CvAssert(eMinorCiv >= MAX_MAJOR_CIVS);13898					CvAssert(eMinorCiv < MAX_CIV_PLAYERS);13899					// Minor civ must still be alive!13900					if(GET_PLAYER(eMinorCiv).isAlive())13901					{	13902						eStatement = eTempStatement;13903						iData1 = eMinorCiv;13904					}13905				}13906			}13907		}13908	}13909}

Calls

Called by