Bazaar developer reference

CvPlayerEspionage::CanEverMoveSpyTo(CvCity *)

Defined in
CvEspionageClasses.cpp, line 1352
Class
CvPlayerEspionage
Hook name
CivHooks::CvPlayerEspionage_CanEverMoveSpyTo
Lua events
GameEvents.EspionageCanMoveSpyTo

Hooks

static bool BeforeCvPlayerEspionage_CanEverMoveSpyTo(CvPlayerEspionage* self, CvCity* pCity, bool& result);static void AfterCvPlayerEspionage_CanEverMoveSpyTo(CvPlayerEspionage* self, CvCity* pCity, bool& result);static bool ReplaceCvPlayerEspionage_CanEverMoveSpyTo(bool (*original)(CvPlayerEspionage*, CvCity*), CvPlayerEspionage* self, CvCity* pCity);CivRegisterBefore<CivHooks::CvPlayerEspionage_CanEverMoveSpyTo>(host, &BeforeCvPlayerEspionage_CanEverMoveSpyTo);CivRegisterAfter<CivHooks::CvPlayerEspionage_CanEverMoveSpyTo>(host, &AfterCvPlayerEspionage_CanEverMoveSpyTo);CivRegisterReplace<CivHooks::CvPlayerEspionage_CanEverMoveSpyTo>(host, &ReplaceCvPlayerEspionage_CanEverMoveSpyTo);

Code

1351/// CanEverMoveSpyTo - May a spy move into this city at any point (used for building lists1352bool CvPlayerEspionage::CanEverMoveSpyTo(CvCity* pCity)1353{1354	// allow moving into empty spaces1355	if(!pCity)1356	{1357		return true;1358	}13591360	CvPlot* pPlot = pCity->plot();1361	CvAssertMsg(pPlot, "No plot() for pCity");1362	if(!pPlot)1363	{1364		return false;1365	}13661367	if(!GET_TEAM(m_pPlayer->getTeam()).isHasMet(pCity->getTeam()))1368	{1369		return false;1370	}13711372	// check to see if the plot can be seen1373	if(!pPlot->isRevealed(m_pPlayer->getTeam()))1374	{1375		return false;1376	}13771378#if defined(MOD_EVENTS_ESPIONAGE)1379	if (MOD_EVENTS_ESPIONAGE) {1380		if (GAMEEVENTINVOKE_TESTALL(GAMEEVENT_EspionageCanMoveSpyTo, m_pPlayer->GetID(), pCity->getOwner(), pCity->GetID()) == GAMEEVENTRETURN_FALSE) {1381			return false;1382		}1383	}1384#endif1385	1386	return true;1387}

Calls

Called by