Bazaar developer reference

pickSpyName(CvCivilizationInfo *, CvEspionageSpy *)

Defined in
CvEspionageClasses.cpp, line 1185
Hook name
CivHooks::pickSpyName

Hooks

static bool BeforepickSpyName(CvCivilizationInfo* pkCivInfo, CvEspionageSpy* pSpy, bool& result);static void AfterpickSpyName(CvCivilizationInfo* pkCivInfo, CvEspionageSpy* pSpy, bool& result);static bool ReplacepickSpyName(bool (*original)(CvCivilizationInfo*, CvEspionageSpy*), CvCivilizationInfo* pkCivInfo, CvEspionageSpy* pSpy);CivRegisterBefore<CivHooks::pickSpyName>(host, &BeforepickSpyName);CivRegisterAfter<CivHooks::pickSpyName>(host, &AfterpickSpyName);CivRegisterReplace<CivHooks::pickSpyName>(host, &ReplacepickSpyName);

Code

1185bool pickSpyName(CvCivilizationInfo* pkCivInfo, CvEspionageSpy* pSpy)1186{1187	int iCivSpyNames = pkCivInfo->getNumSpyNames();1188	if (iCivSpyNames > 0) {1189		int iOffset = GC.getGame().getJonRandNum(iCivSpyNames, "Spy name offset");11901191		for (int i = 0; i < iCivSpyNames; i++) {1192			const char* szSpyName = pkCivInfo->getSpyNames((i + iOffset) % iCivSpyNames);11931194			if (!isSpyNameInUse(szSpyName)) {1195				pSpy->m_sName = szSpyName;1196				// CUSTOMLOG("Using spy name %s (from civ %s)", szSpyName, pkCivInfo->GetDescription());1197				return true;1198			}1199		}1200	} else {1201		CUSTOMLOG("WARNING! Civilization %s appears to be missing spy names", pkCivInfo->GetDescription());1202	}12031204	return false;1205}

Calls

Called by