Bazaar developer reference

CvEspionageAI::EvaluateDefensiveSpies()

Defined in
CvEspionageClasses.cpp, line 6031
Class
CvEspionageAI
Hook name
CivHooks::CvEspionageAI_EvaluateDefensiveSpies

Hooks

static bool BeforeCvEspionageAI_EvaluateDefensiveSpies(CvEspionageAI* self);static void AfterCvEspionageAI_EvaluateDefensiveSpies(CvEspionageAI* self);static void ReplaceCvEspionageAI_EvaluateDefensiveSpies(void (*original)(CvEspionageAI*), CvEspionageAI* self);CivRegisterBefore<CivHooks::CvEspionageAI_EvaluateDefensiveSpies>(host, &BeforeCvEspionageAI_EvaluateDefensiveSpies);CivRegisterAfter<CivHooks::CvEspionageAI_EvaluateDefensiveSpies>(host, &AfterCvEspionageAI_EvaluateDefensiveSpies);CivRegisterReplace<CivHooks::CvEspionageAI_EvaluateDefensiveSpies>(host, &ReplaceCvEspionageAI_EvaluateDefensiveSpies);

Code

6030// does not move the spies, only flags them to be moved6031void CvEspionageAI::EvaluateDefensiveSpies(void)6032{6033	CvPlayerEspionage* pEspionage = m_pPlayer->GetEspionage();6034	for (uint ui = 0; ui < pEspionage->m_aSpyList.size(); ui++)6035	{6036		CvEspionageSpy* pSpy = &(pEspionage->m_aSpyList[ui]);6037		// don't process dead spies6038#if defined(MOD_API_ESPIONAGE)6039		if (pSpy->m_eSpyState == SPY_STATE_DEAD || pSpy->m_eSpyState == SPY_STATE_TERMINATED)6040#else6041		if (pSpy->m_eSpyState == SPY_STATE_DEAD)6042#endif6043		{6044			continue;6045		}60466047		CvCity* pCity = pEspionage->GetCityWithSpy(ui);6048		if (pCity && pCity->getOwner() == m_pPlayer->GetID())6049		{6050			pSpy->m_bEvaluateReassignment = true;6051			if(GC.getLogging())6052			{6053				CvString strMsg;6054				strMsg.Format("Re-eval: defensive spy, %d,", ui);6055#if defined(MOD_BUGFIX_SPY_NAMES)6056				strMsg += GetLocalizedText(pSpy->GetSpyName(m_pPlayer));6057#else6058				strMsg += GetLocalizedText(m_pPlayer->getCivilizationInfo().getSpyNames(pSpy->m_iName));6059#endif6060				pEspionage->LogEspionageMsg(strMsg);6061			}60626063		}6064	}6065}

Calls

Called by