Bazaar developer reference

CvDllNetMessageHandler::ResponseMoveSpy(PlayerTypes, int, int, int, bool)

Defined in
CvDllNetMessageHandler.cpp, line 397
Class
CvDllNetMessageHandler
Hook name
CivHooks::CvDllNetMessageHandler_ResponseMoveSpy

Hooks

static bool BeforeCvDllNetMessageHandler_ResponseMoveSpy(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iSpyIndex, int iTargetPlayer, int iTargetCity, bool bAsDiplomat);static void AfterCvDllNetMessageHandler_ResponseMoveSpy(CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iSpyIndex, int iTargetPlayer, int iTargetCity, bool bAsDiplomat);static void ReplaceCvDllNetMessageHandler_ResponseMoveSpy(void (*original)(CvDllNetMessageHandler*, PlayerTypes, int, int, int, bool), CvDllNetMessageHandler* self, PlayerTypes ePlayer, int iSpyIndex, int iTargetPlayer, int iTargetCity, bool bAsDiplomat);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseMoveSpy::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllNetMessageHandler_ResponseMoveSpy);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseMoveSpy::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllNetMessageHandler_ResponseMoveSpy);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseMoveSpy::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllNetMessageHandler_ResponseMoveSpy);

Code

397void CvDllNetMessageHandler::ResponseMoveSpy(PlayerTypes ePlayer, int iSpyIndex, int iTargetPlayer, int iTargetCity, bool bAsDiplomat)398{399	CvPlayerAI& kPlayer = GET_PLAYER(ePlayer);400	CvPlayerEspionage* pPlayerEspionage = kPlayer.GetEspionage();401402	if(pPlayerEspionage)403	{404		if(iTargetCity == -1)405		{406			pPlayerEspionage->ExtractSpyFromCity(iSpyIndex);407			GC.GetEngineUserInterface()->setDirty(EspionageScreen_DIRTY_BIT, true);408		}409		else410		{411			CvAssertMsg(iTargetPlayer != -1, "iTargetPlayer is -1");412			if(iTargetPlayer != -1)413			{414				PlayerTypes eTargetPlayer = (PlayerTypes)iTargetPlayer;415				CvCity* pCity = GET_PLAYER(eTargetPlayer).getCity(iTargetCity);416				CvAssertMsg(pCity, "pCity is null");417				if(pCity)418				{419					pPlayerEspionage->MoveSpyTo(pCity, iSpyIndex, bAsDiplomat);420					GC.GetEngineUserInterface()->setDirty(EspionageScreen_DIRTY_BIT, true);421				}422			}423		}424	}425}

Calls