Bazaar developer reference

CvDiplomacyAI::DoExpansionWarningStatement(PlayerTypes, DiploStatementTypes &)

Defined in
CvDiplomacyAI.cpp, line 13961
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoExpansionWarningStatement

Hooks

static bool BeforeCvDiplomacyAI_DoExpansionWarningStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void AfterCvDiplomacyAI_DoExpansionWarningStatement(CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);static void ReplaceCvDiplomacyAI_DoExpansionWarningStatement(void (*original)(CvDiplomacyAI*, PlayerTypes, DiploStatementTypes&), CvDiplomacyAI* self, PlayerTypes ePlayer, DiploStatementTypes& eStatement);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoExpansionWarningStatement>(host, &BeforeCvDiplomacyAI_DoExpansionWarningStatement);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoExpansionWarningStatement>(host, &AfterCvDiplomacyAI_DoExpansionWarningStatement);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoExpansionWarningStatement>(host, &ReplaceCvDiplomacyAI_DoExpansionWarningStatement);

Code

13960/// Possible Contact Statement13961void CvDiplomacyAI::DoExpansionWarningStatement(PlayerTypes ePlayer, DiploStatementTypes& eStatement)13962{13963	CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");13964	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.");1396513966	// Comment on aggressive expansion13967	if(eStatement == NO_DIPLO_STATEMENT_TYPE)13968	{13969		bool bSendStatement = false;13970		if (GET_PLAYER(ePlayer).GetTurnsSinceSettledLastCity() < GC.getEXPANSION_BICKER_TIMEOUT() && !EverMadeExpansionPromise(ePlayer) && !IsPlayerMadeExpansionPromise(ePlayer) && !IsPlayerIgnoredExpansionPromise(ePlayer) && !IsPlayerBrokenExpansionPromise(ePlayer))13971		{13972			// We're fiercely opposed to their expansion13973			if(GetLandDisputeLevel(ePlayer) >= DISPUTE_LEVEL_FIERCE)13974				bSendStatement = true;1397513976			// Have a strong dispute over land now, and didn't last turn13977			else if(GetLandDisputeLevel(ePlayer) >= DISPUTE_LEVEL_STRONG && GetLastTurnLandDisputeLevel(ePlayer) < DISPUTE_LEVEL_STRONG)13978			{13979				if(GetExpansionAggressivePosture(ePlayer) >= AGGRESSIVE_POSTURE_MEDIUM)13980					bSendStatement = true;13981			}13982		}1398313984		if(bSendStatement)13985		{13986			DiploStatementTypes eTempStatement = DIPLO_STATEMENT_EXPANSION_WARNING;13987			int iTurnsBetweenStatements = (GC.getEXPANSION_PROMISE_TURNS_EFFECTIVE() * GC.getGame().getGameSpeedInfo().getOpinionDurationPercent()) / 100;1398813989			if(GetNumTurnsSinceStatementSent(ePlayer, eTempStatement) >= iTurnsBetweenStatements)13990				eStatement = eTempStatement;13991		}13992	}13993}

Calls

Called by