Bazaar developer reference

CvEspionageAI::EvaluateUnassignedSpies()

Defined in
CvEspionageClasses.cpp, line 5995
Class
CvEspionageAI
Hook name
CivHooks::CvEspionageAI_EvaluateUnassignedSpies

Hooks

static bool BeforeCvEspionageAI_EvaluateUnassignedSpies(CvEspionageAI* self);static void AfterCvEspionageAI_EvaluateUnassignedSpies(CvEspionageAI* self);static void ReplaceCvEspionageAI_EvaluateUnassignedSpies(void (*original)(CvEspionageAI*), CvEspionageAI* self);CivRegisterBefore<CivHooks::CvEspionageAI_EvaluateUnassignedSpies>(host, &BeforeCvEspionageAI_EvaluateUnassignedSpies);CivRegisterAfter<CivHooks::CvEspionageAI_EvaluateUnassignedSpies>(host, &AfterCvEspionageAI_EvaluateUnassignedSpies);CivRegisterReplace<CivHooks::CvEspionageAI_EvaluateUnassignedSpies>(host, &ReplaceCvEspionageAI_EvaluateUnassignedSpies);

Code

5994// does not move the spies, only flags them to be moved5995void CvEspionageAI::EvaluateUnassignedSpies(void)5996{5997	CvPlayerEspionage* pEspionage = m_pPlayer->GetEspionage();5998	for (uint ui = 0; ui < pEspionage->m_aSpyList.size(); ui++)5999	{6000		CvEspionageSpy* pSpy = &(pEspionage->m_aSpyList[ui]);6001		// don't process dead spies6002#if defined(MOD_API_ESPIONAGE)6003		if (pSpy->m_eSpyState == SPY_STATE_DEAD || pSpy->m_eSpyState == SPY_STATE_TERMINATED)6004#else6005		if (pSpy->m_eSpyState == SPY_STATE_DEAD)6006#endif6007		{6008			continue;6009		}60106011		CvCity* pCity = pEspionage->GetCityWithSpy(ui);6012		if (!pCity)6013		{6014			pSpy->m_bEvaluateReassignment = true;6015			if(GC.getLogging())6016			{6017				CvString strMsg;6018				strMsg.Format("Re-eval: unassigned spy, %d,", ui);6019#if defined(MOD_BUGFIX_SPY_NAMES)6020				strMsg += GetLocalizedText(pSpy->GetSpyName(m_pPlayer));6021#else6022				strMsg += GetLocalizedText(m_pPlayer->getCivilizationInfo().getSpyNames(pSpy->m_iName));6023#endif6024				pEspionage->LogEspionageMsg(strMsg);6025			}6026		}6027	}6028}

Calls

Called by