Bazaar developer reference

CvDiplomacyAI::Reset()

Defined in
CvDiplomacyAI.cpp, line 807
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_Reset

Hooks

static bool BeforeCvDiplomacyAI_Reset(CvDiplomacyAI* self);static void AfterCvDiplomacyAI_Reset(CvDiplomacyAI* self);static void ReplaceCvDiplomacyAI_Reset(void (*original)(CvDiplomacyAI*), CvDiplomacyAI* self);CivRegisterBefore<CivHooks::CvDiplomacyAI_Reset>(host, &BeforeCvDiplomacyAI_Reset);CivRegisterAfter<CivHooks::CvDiplomacyAI_Reset>(host, &AfterCvDiplomacyAI_Reset);CivRegisterReplace<CivHooks::CvDiplomacyAI_Reset>(host, &ReplaceCvDiplomacyAI_Reset);

Code

806/// Reset everything to default state807void CvDiplomacyAI::Reset()808{809	int iI, iJ;810811	for(iI = 0; iI < NUM_DIPLO_LOG_STATEMENT_TYPES; iI++)812	{813		m_paDiploLogStatementTurnCountScratchPad[iI] = NO_DIPLO_STATEMENT_TYPE;814	}815816	for(iI = 0; iI < MAX_MAJOR_CIVS; iI++)817	{818		m_paeMajorCivOpinion[iI] = NO_MAJOR_CIV_OPINION_TYPE;819820		for(iJ = 0; iJ < MAX_MAJOR_CIVS; iJ++)821		{822			m_ppaaeOtherPlayerMajorCivOpinion[iI][iJ] = NO_MAJOR_CIV_OPINION_TYPE;823			m_ppaabWorkingAgainstPlayerAccepted[iI][iJ] = false;824			m_ppaaiWorkingAgainstPlayerCounter[iI][iJ] = -1;825			m_ppaacCoopWarAcceptedState[iI][iJ] = NO_COOP_WAR_STATE;826			m_ppaaiCoopWarCounter[iI][iJ] = -1;827		}828829		m_paeMajorCivApproach[iI] = NO_MAJOR_CIV_APPROACH;830		m_paeApproachTowardsUsGuess[iI] = NO_MAJOR_CIV_APPROACH;831		m_paeApproachTowardsUsGuessCounter[iI] = 0;832833		m_paePeaceTreatyWillingToOffer[iI] = NO_PEACE_TREATY_TYPE;834		m_paePeaceTreatyWillingToAccept[iI] = NO_PEACE_TREATY_TYPE;835836		m_paiOtherPlayerTurnsSinceAttackedProtectedMinor[iI] = -1;837		m_paiOtherPlayerProtectedMinorAttacked[iI] = NO_PLAYER;838		m_paiOtherPlayerNumProtectedMinorsAttacked[iI] = 0;839840		m_paiOtherPlayerTurnsSinceKilledProtectedMinor[iI] = -1;841		m_paiOtherPlayerProtectedMinorKilled[iI] = NO_PLAYER;842		m_paiOtherPlayerNumProtectedMinorsKilled[iI] = 0;843844		m_paiOtherPlayerNumProtectedMinorsBullied[iI] = 0;845846		m_paiOtherPlayerTurnsSinceSidedWithTheirProtectedMinor[iI] = -1;847848		m_paiOtherPlayerNumMinorsAttacked[iI] = 0;849		m_paiOtherPlayerNumMinorsConquered[iI] = 0;850		m_paiOtherPlayerNumMajorsAttacked[iI] = 0;851		m_paiOtherPlayerNumMajorsConquered[iI] = 0;852		853#if defined(MOD_API_EXTENSIONS)854		m_paiOtherPlayerWarmongerAmountTimes100[iI] = 0;855#else856		m_paiOtherPlayerWarmongerAmount[iI] = 0;857#endif858859		m_paiOtherPlayerTurnsSinceWeLikedTheirProposal[iI] = -1;860		m_paiOtherPlayerTurnsSinceWeDislikedTheirProposal[iI] = -1;861		m_paiOtherPlayerTurnsSinceTheySupportedOurProposal[iI] = -1;862		m_paiOtherPlayerTurnsSinceTheyFoiledOurProposal[iI] = -1;863		m_paiOtherPlayerTurnsSinceTheySupportedOurHosting[iI] = -1;864865		m_pabWantsResearchAgreementWithPlayer[iI] = false;866867		// Things a player has told this AI868869		m_pabPlayerNoSettleRequestAccepted[iI] = false;870		m_paiPlayerNoSettleRequestCounter[iI] = -1;871872		m_pabPlayerStopSpyingRequestAccepted[iI] = false;873		m_paiPlayerStopSpyingRequestCounter[iI] = -1;874875		m_paiDemandCounter[iI] = -1;876		m_paiDemandTooSoonNumTurns[iI] = -1;877878		m_pabDoFAccepted[iI] = false;879		m_paiDoFCounter[iI] = -1;880881		m_pabDenouncedPlayer[iI] = false;882		m_pabFriendDenouncedUs[iI] = false;883		m_pabFriendDeclaredWarOnUs[iI] = false;884		m_paiDenouncedPlayerCounter[iI] = -1;885886		m_paiNumRequestsRefused[iI] = 0;887888		m_paiNumCiviliansReturnedToMe[iI] = 0;889		m_paiNumLandmarksBuiltForMe[iI] = 0;890		m_paiResurrectedOnTurn[iI] = -1;891		m_paiNumTimesCultureBombed[iI] = 0;892893		m_paiNegativeReligiousConversionPoints[iI] = 0;894895		m_paiNegativeArchaeologyPoints[iI] = 0;896897		m_paiNumTimesNuked[iI] = 0;898		m_paiNumTimesRobbedBy[iI] = 0;899		m_paiNumTimesIntrigueSharedBy[iI] = 0;900901		m_paiBrokenExpansionPromiseValue[iI] = 0;902		m_paiIgnoredExpansionPromiseValue[iI] = 0;903		m_paiBrokenBorderPromiseValue[iI] = 0;904		m_paiIgnoredBorderPromiseValue[iI] = 0;905		m_paiDeclaredWarOnFriendValue[iI] = 0;906		m_paiNumCitiesLiberated[iI] = 0;907		m_paiTradeValue[iI] = 0;908		m_paiCommonFoeValue[iI] = 0;909		m_paiAssistValue[iI] = 0;910911		// Player's repsonse to AI statements912913		m_pabPlayerMadeMilitaryPromise[iI] = false;914		m_pabPlayerBrokenMilitaryPromise[iI] = false;915		m_pabPlayerIgnoredMilitaryPromise[iI] = false;916		m_paiPlayerMilitaryPromiseCounter[iI] = -1;917918		m_paiPlayerMadeExpansionPromiseTurn[iI] = -1;919		m_pabPlayerBrokenExpansionPromise[iI] = false;920		m_pabPlayerIgnoredExpansionPromise[iI] = false;921		m_paePlayerExpansionPromiseData[iI] = NO_AGGRESSIVE_POSTURE_TYPE;922923		m_paiPlayerMadeBorderPromiseTurn[iI] = -1;924		m_pabPlayerBrokenBorderPromise[iI] = false;925		m_pabPlayerIgnoredBorderPromise[iI] = false;926		m_paePlayerBorderPromiseData[iI] = NO_AGGRESSIVE_POSTURE_TYPE;927928		m_pabPlayerMadeAttackCityStatePromise[iI] = false;929		m_pabPlayerBrokenAttackCityStatePromise[iI] = false;930		m_pabPlayerIgnoredAttackCityStatePromise[iI] = false;931932		m_pabPlayerMadeBullyCityStatePromise[iI] = false;933		m_pabPlayerBrokenBullyCityStatePromise[iI] = false;934		m_pabPlayerIgnoredBullyCityStatePromise[iI] = false;935936		m_pabPlayerMadeSpyPromise[iI] = false;937		m_pabPlayerBrokenSpyPromise[iI] = false;938		m_pabPlayerIgnoredSpyPromise[iI] = false;939940		m_pabPlayerForgaveForSpying[iI] = false;941942		m_pabPlayerMadeNoConvertPromise[iI] = false;943		m_pabPlayerBrokenNoConvertPromise[iI] = false;944		m_pabPlayerIgnoredNoConvertPromise[iI] = false;945		m_pabPlayerAskedNotToConvert[iI] = false;946		m_pabPlayerAgreedNotToConvert[iI] = false;947948		m_pabPlayerMadeNoDiggingPromise[iI] = false;949		m_pabPlayerBrokenNoDiggingPromise[iI] = false;950		m_pabPlayerIgnoredNoDiggingPromise[iI] = false;951		m_pabPlayerAskedNotToDig[iI] = false;952		m_pabPlayerAgreedNotToDig[iI] = false;953954		m_pabPlayerBrokenCoopWarPromise[iI] = false;955	}956957	for(iI = 0; iI < MAX_MINOR_CIVS; iI++)958	{959		m_paeMinorCivApproach[iI] = NO_MINOR_CIV_APPROACH;960		m_pabWantToRouteToMinor[iI] = true;961	}962963	for(iI = 0; iI < MAX_CIV_PLAYERS; iI++)964	{965		m_paeApproachScratchPad[iI] = -1;966967		m_paiNumWondersBeatenTo[iI] = 0;968		m_pabMusteringForAttack[iI] = false;969970		m_paeWantPeaceCounter[iI] = 0;971972		m_paeWarFace[iI] = NO_WAR_FACE_TYPE;973		m_paeWarState[iI] = NO_WAR_STATE_TYPE;974		m_paeWarProjection[iI] = NO_WAR_PROJECTION_TYPE;975		m_paeLastWarProjection[iI] = NO_WAR_PROJECTION_TYPE;976		m_paeWarGoal[iI] = NO_WAR_GOAL_TYPE;977		m_paiPlayerNumTurnsAtWar[iI] = 0;978		m_paiNumWarsFought[iI] = 0;979980		m_paePlayerMilitaryStrengthComparedToUs[iI] = NO_STRENGTH_VALUE;981		m_paePlayerEconomicStrengthComparedToUs[iI] = NO_STRENGTH_VALUE;982		m_paePlayerTargetValue[iI] = NO_TARGET_VALUE;983984		m_paePlayerLandDisputeLevel[iI] = NO_DISPUTE_LEVEL;985		m_paePlayerLastTurnLandDisputeLevel[iI] = NO_DISPUTE_LEVEL;986		m_paePlayerVictoryDisputeLevel[iI] = NO_DISPUTE_LEVEL;987		m_paePlayerWonderDisputeLevel[iI] = NO_DISPUTE_LEVEL;988		m_paePlayerMinorCivDisputeLevel[iI] = NO_DISPUTE_LEVEL;989990		for(iJ = 0; iJ < MAX_CIV_PLAYERS; iJ++)991		{992			m_ppaaeOtherPlayerLandDisputeLevel[iI][iJ] = NO_DISPUTE_LEVEL;993			m_ppaaeOtherPlayerVictoryDisputeLevel[iI][iJ] = NO_DISPUTE_LEVEL;994995			m_ppaaeOtherPlayerWarDamageLevel[iI][iJ] = NO_WAR_DAMAGE_LEVEL_VALUE;996			m_ppaaiOtherPlayerWarValueLost[iI][iJ] = 0;997			m_ppaaiOtherPlayerLastRoundWarValueLost[iI][iJ] = 0;998			m_ppaabSentAttackMessageToMinorCivProtector[iI][iJ] = false;9991000			m_ppaaeOtherPlayerMilitaryThreat[iI][iJ] = NO_THREAT_VALUE;1001		}10021003		m_paeWarDamageLevel[iI] = NO_WAR_DAMAGE_LEVEL_VALUE;1004		m_paiWarValueLost[iI] = 0;10051006		m_paeMilitaryAggressivePosture[iI] = NO_AGGRESSIVE_POSTURE_TYPE;1007		m_paeLastTurnMilitaryAggressivePosture[iI] = NO_AGGRESSIVE_POSTURE_TYPE;1008		m_paeExpansionAggressivePosture[iI] = NO_AGGRESSIVE_POSTURE_TYPE;1009		m_paePlotBuyingAggressivePosture[iI] = NO_AGGRESSIVE_POSTURE_TYPE;10101011		m_paeMilitaryThreat[iI] = NO_THREAT_VALUE;10121013		m_paeWarmongerThreat[iI] = NO_THREAT_VALUE;1014	}10151016	m_eDemandTargetPlayer = NO_PLAYER;1017	m_bDemandReady = false;10181019	m_iVictoryCompetitiveness = -1;1020	m_iWonderCompetitiveness = -1;1021	m_iMinorCivCompetitiveness = -1;1022	m_iBoldness = -1;1023	m_iDiploBalance = -1;1024	m_iWarmongerHate = -1;1025	m_iDenounceWillingness = -1;1026	m_iDoFWillingness = -1;1027	m_iLoyalty = -1;1028	m_iNeediness = -1;1029	m_iForgiveness = -1;1030	m_iChattiness = -1;1031	m_iMeanness = -1;10321033	for(iI = 0; iI < NUM_MAJOR_CIV_APPROACHES; iI++)1034	{1035		m_paiPersonalityMajorCivApproachBiases[iI] = 0;1036	}10371038	for(iI = 0; iI < NUM_MINOR_CIV_APPROACHES; iI++)1039	{1040		m_paiPersonalityMinorCivApproachBiases[iI] = 0;1041	}10421043	for(iI = 0; iI < MAX_MAJOR_CIVS; iI++)1044	{1045		for(iJ = 0; iJ < MAX_DIPLO_LOG_STATEMENTS; iJ++)1046		{1047			m_ppaDiploStatementsLog[iI][iJ].m_eDiploLogStatement = NO_DIPLO_STATEMENT_TYPE;1048			m_ppaDiploStatementsLog[iI][iJ].m_iTurn = -1;1049		}1050	}10511052	for(iI = 0; iI < MAX_DIPLO_LOG_STATEMENTS; iI++)1053	{1054		m_paDeclarationsLog[iI].m_eDeclaration = NO_PUBLIC_DECLARATION_TYPE;1055		m_paDeclarationsLog[iI].m_iTurn = -1;1056	}10571058	m_eStateAllWars = STATE_ALL_WARS_NEUTRAL;10591060#if defined(MOD_AI_MP_DIPLOMACY)1061	if (!MOD_AI_MP_DIPLOMACY)1062#endif1063	m_aGreetPlayers.clear();1064}

Calls

Called by