Hooks
static bool BeforeCvMilitaryAIStrategyXMLEntry_CacheResults(CvMilitaryAIStrategyXMLEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static void AfterCvMilitaryAIStrategyXMLEntry_CacheResults(CvMilitaryAIStrategyXMLEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility, bool& result);static bool ReplaceCvMilitaryAIStrategyXMLEntry_CacheResults(bool (*original)(CvMilitaryAIStrategyXMLEntry*, Database::Results&, CvDatabaseUtility&), CvMilitaryAIStrategyXMLEntry* self, Database::Results& kResults, CvDatabaseUtility& kUtility);CivRegisterBefore<CivHooks::CvMilitaryAIStrategyXMLEntry_CacheResults>(host, &BeforeCvMilitaryAIStrategyXMLEntry_CacheResults);CivRegisterAfter<CivHooks::CvMilitaryAIStrategyXMLEntry_CacheResults>(host, &AfterCvMilitaryAIStrategyXMLEntry_CacheResults);CivRegisterReplace<CivHooks::CvMilitaryAIStrategyXMLEntry_CacheResults>(host, &ReplaceCvMilitaryAIStrategyXMLEntry_CacheResults);
Code
48bool CvMilitaryAIStrategyXMLEntry::CacheResults(Database::Results& kResults, CvDatabaseUtility& kUtility)49{50 if(!CvBaseInfo::CacheResults(kResults, kUtility))51 return false;5253 //Basic Properties54 m_bNoMinorCivs = kResults.GetBool("NoMinorCivs");55 m_bOnlyMinorCivs = kResults.GetBool("OnlyMinorCivs");56 m_bUpdateCitySpecializations = kResults.GetBool("UpdateCitySpecializations");57 m_iCheckTriggerTurnCount = kResults.GetInt("CheckTriggerTurnCount");58 m_iFirstTurnExecuted = kResults.GetInt("FirstTurnExecuted");59 m_iMinimumNumTurnsExecuted = kResults.GetInt("MinimumNumTurnsExecuted");60 m_iWeightThreshold = kResults.GetInt("WeightThreshold");6162 const char* strAdvisor = kResults.GetText("Advisor");63 m_eAdvisor = NO_ADVISOR_TYPE;64 if(strAdvisor)65 {66 if(strcmp(strAdvisor, "MILITARY") == 0)67 {68 m_eAdvisor = ADVISOR_MILITARY;69 }70 else if(strcmp(strAdvisor, "ECONOMIC") == 0)71 {72 m_eAdvisor = ADVISOR_ECONOMIC;73 }74 else if(strcmp(strAdvisor, "FOREIGN") == 0)75 {76 m_eAdvisor = ADVISOR_FOREIGN;77 }78 else if(strcmp(strAdvisor, "SCIENCE") == 0)79 {80 m_eAdvisor = ADVISOR_SCIENCE;81 }82 }8384 m_strAdvisorCounselText = kResults.GetText("AdvisorCounsel");8586 //References87 const char* szTextVal = NULL;88 szTextVal = kResults.GetText("TechObsolete");89 m_iTechObsolete = GC.getInfoTypeForString(szTextVal, true);9091 szTextVal = kResults.GetText("TechPrereq");92 m_iTechPrereq = GC.getInfoTypeForString(szTextVal, true);9394 //Arrays95 const char* szType = GetType();96 kUtility.SetFlavors(m_piPlayerFlavorValue, "AIMilitaryStrategy_Player_Flavors",97 "AIMilitaryStrategyType", szType);98 kUtility.SetFlavors(m_piCityFlavorValue, "AIMilitaryStrategy_City_Flavors",99 "AIMilitaryStrategyType", szType);100101102 kUtility.SetFlavors(m_piPersonalityFlavorThresholdMod,103 "AIMilitaryStrategy_PersonalityFlavorThresholdMods",104 "AIMilitaryStrategyType", szType);105106 return true;107}