Bazaar developer reference

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

Called by