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
- CvBaseInfo::GetDescription() const
- CvCivilizationInfo::getNumSpyNames() const
- CvCivilizationInfo::getSpyNames(int) const
- CvGame::getJonRandNum(int, const char *)
- CvGlobals::getGame()
CvString::CvStringCvString::formatCvString::operator=FILogFile::MsgFILogFileMgr::GetInstanceFILogFileMgr::GetLog- isSpyNameInUse(const char *)
std::basic_string::c_str