Bazaar developer reference

CvCityStrategyAI::SpecializationFlavorChange(bool, CitySpecializationTypes)

Defined in
CvCityStrategyAI.cpp, line 486
Class
CvCityStrategyAI
Hook name
CivHooks::CvCityStrategyAI_SpecializationFlavorChange

Hooks

static bool BeforeCvCityStrategyAI_SpecializationFlavorChange(CvCityStrategyAI* self, bool bTurnOn, CitySpecializationTypes eSpecialization);static void AfterCvCityStrategyAI_SpecializationFlavorChange(CvCityStrategyAI* self, bool bTurnOn, CitySpecializationTypes eSpecialization);static void ReplaceCvCityStrategyAI_SpecializationFlavorChange(void (*original)(CvCityStrategyAI*, bool, CitySpecializationTypes), CvCityStrategyAI* self, bool bTurnOn, CitySpecializationTypes eSpecialization);CivRegisterBefore<CivHooks::CvCityStrategyAI_SpecializationFlavorChange>(host, &BeforeCvCityStrategyAI_SpecializationFlavorChange);CivRegisterAfter<CivHooks::CvCityStrategyAI_SpecializationFlavorChange>(host, &AfterCvCityStrategyAI_SpecializationFlavorChange);CivRegisterReplace<CivHooks::CvCityStrategyAI_SpecializationFlavorChange>(host, &ReplaceCvCityStrategyAI_SpecializationFlavorChange);

Code

485/// Turn on or off the flavors for a city specialization486void CvCityStrategyAI::SpecializationFlavorChange(bool bTurnOn, CitySpecializationTypes eSpecialization)487{488	if(eSpecialization != NO_CITY_SPECIALIZATION)489	{490		CvCitySpecializationXMLEntry* pSpecialization = GC.getCitySpecializationInfo(eSpecialization);491		if(pSpecialization)492		{493			int iFlavorLoop;494495			// Clear out Temp array496			for(iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)497			{498				m_aiTempFlavors[iFlavorLoop] = 0;499			}500501			for(iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)502			{503				if(bTurnOn)504				{505					m_aiTempFlavors[iFlavorLoop] += pSpecialization->GetFlavorValue(iFlavorLoop);506				}507				else508				{509					m_aiTempFlavors[iFlavorLoop] -= pSpecialization->GetFlavorValue(iFlavorLoop);510				}511			}512513			ChangeFlavors(m_aiTempFlavors, true);514515			LogFlavors();516		}517	}518}

Calls

Called by