Bazaar developer reference

CvDiplomacyAI::ChangeNumCiviliansReturnedToMe(PlayerTypes, int)

Defined in
CvDiplomacyAI.cpp, line 23029
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_ChangeNumCiviliansReturnedToMe

Hooks

static bool BeforeCvDiplomacyAI_ChangeNumCiviliansReturnedToMe(CvDiplomacyAI* self, PlayerTypes ePlayer, int iChange);static void AfterCvDiplomacyAI_ChangeNumCiviliansReturnedToMe(CvDiplomacyAI* self, PlayerTypes ePlayer, int iChange);static void ReplaceCvDiplomacyAI_ChangeNumCiviliansReturnedToMe(void (*original)(CvDiplomacyAI*, PlayerTypes, int), CvDiplomacyAI* self, PlayerTypes ePlayer, int iChange);CivRegisterBefore<CivHooks::CvDiplomacyAI_ChangeNumCiviliansReturnedToMe>(host, &BeforeCvDiplomacyAI_ChangeNumCiviliansReturnedToMe);CivRegisterAfter<CivHooks::CvDiplomacyAI_ChangeNumCiviliansReturnedToMe>(host, &AfterCvDiplomacyAI_ChangeNumCiviliansReturnedToMe);CivRegisterReplace<CivHooks::CvDiplomacyAI_ChangeNumCiviliansReturnedToMe>(host, &ReplaceCvDiplomacyAI_ChangeNumCiviliansReturnedToMe);

Code

23028/// Returned civilians?23029void CvDiplomacyAI::ChangeNumCiviliansReturnedToMe(PlayerTypes ePlayer, int iChange)23030{23031	if(iChange != 0)23032	{23033		CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index.  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");23034		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.");2303523036		m_paiNumCiviliansReturnedToMe[ePlayer] += iChange;23037		CvAssertMsg(m_paiNumCiviliansReturnedToMe[ePlayer] >= 0, "DIPLOMACY_AI: Invalid # of Civilians returned. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");2303823039		// Message for human23040		if(iChange > 0)23041		{23042#if defined(MOD_AI_MP_DIPLOMACY)23043			if (MOD_AI_MP_DIPLOMACY) {23044				// TODO: what about GC.GetEngineUserInterface()->SetForceDiscussionModeQuitOnBack(true)?23045#if defined(MOD_DIPLOMACY_STFU)23046				SendAILeaderMessage(GetPlayer()->GetID(), ePlayer, DIPLO_UI_STATE_BLANK_DISCUSSION, DIPLO_MESSAGE_RETURNED_CIVILIAN, LEADERHEAD_ANIM_POSITIVE, -1);23047#else23048				const char* strText = GetDiploStringForMessage(DIPLO_MESSAGE_RETURNED_CIVILIAN);23049#if defined(MOD_API_PLAYER_LOGS)23050				CvDiplomacyRequests::SendRequest(GetPlayer()->GetID(), ePlayer, DIPLO_UI_STATE_BLANK_DISCUSSION, DIPLO_MESSAGE_RETURNED_CIVILIAN, strText, LEADERHEAD_ANIM_POSITIVE, -1);23051#else23052				CvDiplomacyRequests::SendRequest(GetPlayer()->GetID(), ePlayer, DIPLO_UI_STATE_BLANK_DISCUSSION, strText, LEADERHEAD_ANIM_POSITIVE, -1);23053#endif23054#endif23055			} else {23056#endif23057			if(!GC.getGame().isNetworkMultiPlayer())	// KWG: Candidate for !GC.getGame().IsOption(GAMEOPTION_SIMULTANEOUS_TURNS)23058			{23059				if(GC.getGame().getActivePlayer() == ePlayer)23060				{23061					GC.GetEngineUserInterface()->SetForceDiscussionModeQuitOnBack(true);		// Set force quit so that when discuss mode pops up the Back button won't go to leader root23062#if defined(MOD_DIPLOMACY_STFU)23063					GET_PLAYER(ePlayer).GetDiplomacyAI()->DisplayAILeaderMessage(GetPlayer()->GetID(), DIPLO_UI_STATE_BLANK_DISCUSSION, DIPLO_MESSAGE_RETURNED_CIVILIAN, LEADERHEAD_ANIM_POSITIVE);23064#else23065					const char* strText = GetDiploStringForMessage(DIPLO_MESSAGE_RETURNED_CIVILIAN);23066					gDLL->GameplayDiplomacyAILeaderMessage(GetPlayer()->GetID(), DIPLO_UI_STATE_BLANK_DISCUSSION, strText, LEADERHEAD_ANIM_POSITIVE);23067#endif23068				}23069			}23070#if defined(MOD_AI_MP_DIPLOMACY)23071			}23072#endif23073		}23074	}23075}

Calls

Called by