Bazaar developer reference

CvCitySpecializationAI::SetSpecializationsDirty(CitySpecializationUpdateType)

Defined in
CvCitySpecializationAI.cpp, line 375
Class
CvCitySpecializationAI
Hook name
CivHooks::CvCitySpecializationAI_SetSpecializationsDirty

Hooks

static bool BeforeCvCitySpecializationAI_SetSpecializationsDirty(CvCitySpecializationAI* self, CitySpecializationUpdateType eUpdateType);static void AfterCvCitySpecializationAI_SetSpecializationsDirty(CvCitySpecializationAI* self, CitySpecializationUpdateType eUpdateType);static void ReplaceCvCitySpecializationAI_SetSpecializationsDirty(void (*original)(CvCitySpecializationAI*, CitySpecializationUpdateType), CvCitySpecializationAI* self, CitySpecializationUpdateType eUpdateType);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvCitySpecializationAI_SetSpecializationsDirty::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvCitySpecializationAI_SetSpecializationsDirty);host->RegisterHook(host->pluginIndex, CivHooks::CvCitySpecializationAI_SetSpecializationsDirty::ID, CIV_HOOK_AFTER, (void*)&AfterCvCitySpecializationAI_SetSpecializationsDirty);host->RegisterHook(host->pluginIndex, CivHooks::CvCitySpecializationAI_SetSpecializationsDirty::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvCitySpecializationAI_SetSpecializationsDirty);

Code

374/// Change specializations for cities since world state has changed375void CvCitySpecializationAI::SetSpecializationsDirty(CitySpecializationUpdateType eUpdateType)376{377	// No city specializations for minor civs378	if(!m_pPlayer->isMinorCiv())379	{380		m_bSpecializationsDirty = true;381		LogSpecializationUpdate(eUpdateType);382383		switch(eUpdateType)384		{385		case SPECIALIZATION_UPDATE_NOW_AT_WAR:386		case SPECIALIZATION_UPDATE_MY_CITY_CAPTURED:387			m_bInterruptWonders = true;388			break;389		default:390			// Don't set it to false for these other cases!391			// We shouldn't set it to false until after the next time we've picked specializations.392			break;393		}394	}395396	return;397}

Calls

Called by