CvMilitaryAI::UseStrategy(MilitaryAIStrategyTypes, bool)
- Defined in
- CvMilitaryAI.cpp, line 2725
- Class
- CvMilitaryAI
- Hook name
CivHooks::CvMilitaryAI_UseStrategy
Hooks
static bool BeforeCvMilitaryAI_UseStrategy(CvMilitaryAI* self, MilitaryAIStrategyTypes eStrategy, bool bUsingStrategy);static void AfterCvMilitaryAI_UseStrategy(CvMilitaryAI* self, MilitaryAIStrategyTypes eStrategy, bool bUsingStrategy);static void ReplaceCvMilitaryAI_UseStrategy(void (*original)(CvMilitaryAI*, MilitaryAIStrategyTypes, bool), CvMilitaryAI* self, MilitaryAIStrategyTypes eStrategy, bool bUsingStrategy);CivRegisterBefore<CivHooks::CvMilitaryAI_UseStrategy>(host, &BeforeCvMilitaryAI_UseStrategy);CivRegisterAfter<CivHooks::CvMilitaryAI_UseStrategy>(host, &AfterCvMilitaryAI_UseStrategy);CivRegisterReplace<CivHooks::CvMilitaryAI_UseStrategy>(host, &ReplaceCvMilitaryAI_UseStrategy);
Code
2724#if defined(MOD_API_EXTENSIONS)2725void CvMilitaryAI::UseStrategy(MilitaryAIStrategyTypes eStrategy, bool bUsingStrategy)2726{2727 CvMilitaryAIStrategyXMLEntry* pStrategy = GetMilitaryAIStrategies()->GetEntry(eStrategy);2728 int iChange = bUsingStrategy ? 1 : -1;2729 2730 SetUsingStrategy(eStrategy, bUsingStrategy);27312732 for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)2733 {2734 m_aiTempFlavors[iFlavorLoop] = pStrategy->GetPlayerFlavorValue(iFlavorLoop) * iChange;2735 }27362737 GetPlayer()->GetFlavorManager()->ChangeFlavors(m_aiTempFlavors, true);27382739 for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)2740 {2741 m_aiTempFlavors[iFlavorLoop] = pStrategy->GetCityFlavorValue(iFlavorLoop) * iChange;2742 }27432744 GetPlayer()->GetFlavorManager()->ChangeFlavors(m_aiTempFlavors, false);27452746 if(pStrategy->RequiresCitySpecializationUpdate())2747 GetPlayer()->GetCitySpecializationAI()->SetSpecializationsDirty(bUsingStrategy ? SPECIALIZATION_UPDATE_STRATEGY_NOW_ON : SPECIALIZATION_UPDATE_STRATEGY_NOW_OFF);2748}
Calls
- CvCitySpecializationAI::SetSpecializationsDirty(CitySpecializationUpdateType)
- CvFlavorManager::ChangeFlavors(int *, bool)
- CvGlobals::getNumFlavorTypes()
- CvMilitaryAI::GetMilitaryAIStrategies()
- CvMilitaryAI::GetPlayer()
- CvMilitaryAI::SetUsingStrategy(MilitaryAIStrategyTypes, bool)
- CvMilitaryAIStrategyXMLEntries::GetEntry(int)
- CvMilitaryAIStrategyXMLEntry::GetCityFlavorValue(int) const
- CvMilitaryAIStrategyXMLEntry::GetPlayerFlavorValue(int) const
- CvMilitaryAIStrategyXMLEntry::RequiresCitySpecializationUpdate() const
- CvPlayer::GetCitySpecializationAI() const
- CvPlayer::GetFlavorManager() const