Bazaar developer reference

CvDiplomacyRequests::SendRequest(PlayerTypes, PlayerTypes, DiploUIStateTypes, DiploMessageTypes, const char *, LeaderheadAnimationTypes, int)

Defined in
CvDiplomacyRequests.cpp, line 405
Class
CvDiplomacyRequests
Hook name
CivHooks::CvDiplomacyRequests_SendRequest

Hooks

static bool BeforeCvDiplomacyRequests_SendRequest(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData);static void AfterCvDiplomacyRequests_SendRequest(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData);static void ReplaceCvDiplomacyRequests_SendRequest(void (*original)(PlayerTypes, PlayerTypes, DiploUIStateTypes, DiploMessageTypes, const char*, LeaderheadAnimationTypes, int), PlayerTypes eFromPlayer, PlayerTypes eToPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData);CivRegisterBefore<CivHooks::CvDiplomacyRequests_SendRequest>(host, &BeforeCvDiplomacyRequests_SendRequest);CivRegisterAfter<CivHooks::CvDiplomacyRequests_SendRequest>(host, &AfterCvDiplomacyRequests_SendRequest);CivRegisterReplace<CivHooks::CvDiplomacyRequests_SendRequest>(host, &ReplaceCvDiplomacyRequests_SendRequest);

Code

400//	Send a request from a player to another player.401//	If the toPlayer is the active human player, it will be sent right away, else402//	it will be queued.403// static404#if defined(MOD_API_PLAYER_LOGS)405void CvDiplomacyRequests::SendRequest(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData /*= -1*/)406#else407void CvDiplomacyRequests::SendRequest(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, DiploUIStateTypes eDiploType, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData /*= -1*/)408#endif409{410#if defined(MOD_AI_MP_DIPLOMACY)411	if (MOD_AI_MP_DIPLOMACY && GC.getGame().isNetworkMultiPlayer() && eToPlayer != GC.getGame().getActivePlayer())412	{413		return;414	}415#endif416417	CvPlayer& kPlayer = GET_PLAYER(eToPlayer);418	CvDiplomacyRequests* pkDiploRequests = kPlayer.GetDiplomacyRequests();419	if(pkDiploRequests)420	{421#if defined(MOD_API_EXTENSIONS) && defined(MOD_DIPLOMACY_NO_LEADERHEADS)422		if (MOD_DIPLOMACY_NO_LEADERHEADS) {423			CvPreGame::pushGameType(GAME_NETWORK_MULTIPLAYER);424		}425#endif426427#if defined(MOD_AI_MP_DIPLOMACY)428		if (MOD_AI_MP_DIPLOMACY) {429			// JdH => add now handles everything, from direct sending to adding notifications...430			if (!(CvPreGame::isHuman(eFromPlayer) && CvPreGame::isHuman(eToPlayer)))431			{432				// dummy deal for AI to Human requests433				GC.getGame().GetGameDeals()->AddProposedDeal(CvDeal(eFromPlayer, eToPlayer));434			}435#if defined(MOD_API_PLAYER_LOGS)436			pkDiploRequests->Add(eFromPlayer, eDiploType, eDiploMessage, pszMessage, eAnimationType, iExtraGameData);437#else438			pkDiploRequests->Add(eFromPlayer, eDiploType, pszMessage, eAnimationType, iExtraGameData);439#endif440		} else {441#endif442		if(!CvPreGame::isNetworkMultiplayerGame() && GC.getGame().getActivePlayer() == eToPlayer)443		{444			// Target is the active player, just send it right now445#if defined(MOD_API_PLAYER_LOGS)446			pkDiploRequests->Send(eFromPlayer, eDiploType, eDiploMessage, pszMessage, eAnimationType, iExtraGameData);447#else448			pkDiploRequests->Send(eFromPlayer, eDiploType, pszMessage, eAnimationType, iExtraGameData);449#endif450		}451		else452#if defined(MOD_API_PLAYER_LOGS)453			pkDiploRequests->Add(eFromPlayer, eDiploType, eDiploMessage, pszMessage, eAnimationType, iExtraGameData);454#else455			pkDiploRequests->Add(eFromPlayer, eDiploType, pszMessage, eAnimationType, iExtraGameData);456#endif457#if defined(MOD_AI_MP_DIPLOMACY)458		}459#endif460	}461}

Calls

Called by