CityStrategyAIHelpers::IsTestCityStrategy_ManyTechsStolen(CvCity *)
- Defined in
- CvCityStrategyAI.cpp, line 3136
- Hook name
CivHooks::CityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen
Hooks
static bool BeforeCityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen(CvCity* pCity, bool& result);static void AfterCityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen(CvCity* pCity, bool& result);static bool ReplaceCityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen(bool (*original)(CvCity*), CvCity* pCity);CivRegisterBefore<CivHooks::CityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen>(host, &BeforeCityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen);CivRegisterAfter<CivHooks::CityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen>(host, &AfterCityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen);CivRegisterReplace<CivHooks::CityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen>(host, &ReplaceCityStrategyAIHelpers_IsTestCityStrategy_ManyTechsStolen);
Code
3136bool CityStrategyAIHelpers::IsTestCityStrategy_ManyTechsStolen(CvCity* pCity)3137{3138 PlayerTypes ePlayer = pCity->getOwner();3139 CvEspionageAI* pEspionageAI = GET_PLAYER(ePlayer).GetEspionageAI();3140 CvCityEspionage* pCityEspionage = pCity->GetCityEspionage();3141 float fRatio = 0.0;3142 int iTurnsOfEspionage = GC.getGame().getGameTurn() - pEspionageAI->m_iTurnEspionageStarted;3143 if (pEspionageAI->m_iTurnEspionageStarted != 0)3144 {3145 FlavorTypes eFlavorEspionage = NO_FLAVOR;3146 for (int iFlavor = 0; iFlavor < GC.getNumFlavorTypes(); iFlavor++)3147 {3148 FlavorTypes eFlavor = (FlavorTypes)iFlavor;3149 if (GC.getFlavorTypes(eFlavor) == "FLAVOR_ESPIONAGE")3150 {3151 eFlavorEspionage = eFlavor;3152 }3153 }3154 CvAssertMsg(eFlavorEspionage != NO_FLAVOR, "Could not find espionage flavor!");3155 3156 fRatio = pCityEspionage->m_aiNumTimesCityRobbed[ePlayer] / (float)(iTurnsOfEspionage);3157 }31583159 if (fRatio > 0.0)3160 {3161 return true;3162 }3163 else3164 {3165 return false;3166 }3167}