Bazaar developer reference

CvBuilderTaskingAI::Init(CvPlayer *)

Defined in
CvBuilderTaskingAI.cpp, line 38
Class
CvBuilderTaskingAI
Hook name
CivHooks::CvBuilderTaskingAI_Init

Hooks

static bool BeforeCvBuilderTaskingAI_Init(CvBuilderTaskingAI* self, CvPlayer* pPlayer);static void AfterCvBuilderTaskingAI_Init(CvBuilderTaskingAI* self, CvPlayer* pPlayer);static void ReplaceCvBuilderTaskingAI_Init(void (*original)(CvBuilderTaskingAI*, CvPlayer*), CvBuilderTaskingAI* self, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvBuilderTaskingAI_Init>(host, &BeforeCvBuilderTaskingAI_Init);CivRegisterAfter<CivHooks::CvBuilderTaskingAI_Init>(host, &AfterCvBuilderTaskingAI_Init);CivRegisterReplace<CivHooks::CvBuilderTaskingAI_Init>(host, &ReplaceCvBuilderTaskingAI_Init);

Code

37/// Init38void CvBuilderTaskingAI::Init(CvPlayer* pPlayer)39{40	m_pPlayer = pPlayer;41	m_eRepairBuild = GetRepairBuild();42	m_eFalloutFeature = GetFalloutFeature();43	m_eFalloutRemove = GetFalloutRemove();4445	m_aiNonTerritoryPlots.clear();46	m_bLogging = GC.getLogging() && GC.getAILogging() && GC.GetBuilderAILogging();47	m_iNumCities = -1;48	m_pTargetPlot = NULL;4950	// special case code so the Dutch don't remove marshes51	m_bKeepMarshes = false;52	// special case code so Brazil doesn't remove jungle53	m_bKeepJungle = false;5455	for(int i = 0; i < GC.getNumBuildInfos(); i++)56	{57		BuildTypes eBuild = (BuildTypes)i;58		CvBuildInfo* pkBuild = GC.getBuildInfo(eBuild);59		if(!pkBuild)60		{61			continue;62		}63		64		ImprovementTypes eImprovement = (ImprovementTypes)pkBuild->getImprovement();65		if(eImprovement == NO_IMPROVEMENT)66		{67			continue;68		}6970		CvImprovementEntry* pkImprovementInfo = GC.getImprovementInfo(eImprovement);71		if(pkImprovementInfo == NULL)72		{73			continue;74		}7576		if(pkImprovementInfo->IsSpecificCivRequired())77		{78			CivilizationTypes eCiv = pkImprovementInfo->GetRequiredCivilization();79			if(eCiv == pPlayer->getCivilizationType())80			{81				if(pkImprovementInfo->GetFeatureMakesValid(FEATURE_MARSH))82				{83					m_bKeepMarshes = true;84				}85				else if (pkImprovementInfo->GetFeatureMakesValid(FEATURE_JUNGLE))86				{87					m_bKeepJungle = true;88				}89			}90		}91	}92}

Calls

Called by