Bazaar developer reference

CvPlayerPolicies::GetFreeBuildingsOnConquest()

Defined in
CvPolicyClasses.cpp, line 3363
Class
CvPlayerPolicies
Hook name
CivHooks::CvPlayerPolicies_GetFreeBuildingsOnConquest

Hooks

static bool BeforeCvPlayerPolicies_GetFreeBuildingsOnConquest(CvPlayerPolicies* self, std::vector<BuildingTypes>& result);static void AfterCvPlayerPolicies_GetFreeBuildingsOnConquest(CvPlayerPolicies* self, std::vector<BuildingTypes>& result);static std::vector<BuildingTypes> ReplaceCvPlayerPolicies_GetFreeBuildingsOnConquest(std::vector<BuildingTypes> (*original)(CvPlayerPolicies*), CvPlayerPolicies* self);CivRegisterBefore<CivHooks::CvPlayerPolicies_GetFreeBuildingsOnConquest>(host, &BeforeCvPlayerPolicies_GetFreeBuildingsOnConquest);CivRegisterAfter<CivHooks::CvPlayerPolicies_GetFreeBuildingsOnConquest>(host, &AfterCvPlayerPolicies_GetFreeBuildingsOnConquest);CivRegisterReplace<CivHooks::CvPlayerPolicies_GetFreeBuildingsOnConquest>(host, &ReplaceCvPlayerPolicies_GetFreeBuildingsOnConquest);

Code

3362/// List of buildings we get in conquered cities3363std::vector<BuildingTypes> CvPlayerPolicies::GetFreeBuildingsOnConquest()3364{3365	std::vector<BuildingTypes> freeBuildings;3366	freeBuildings.reserve(m_pPolicies->GetNumPolicies());33673368	for (int i = 0; i < m_pPolicies->GetNumPolicies(); i++)3369	{3370		// Do we have this policy?3371		if (m_pabHasPolicy[i] && !IsPolicyBlocked((PolicyTypes)i))3372		{3373			CvPolicyEntry *pPolicy = m_pPolicies->GetPolicyEntry(i);3374			BuildingTypes eFreeBuilding = pPolicy->GetFreeBuildingOnConquest();3375			if (eFreeBuilding)3376			{3377				freeBuildings.push_back(eFreeBuilding);3378			}3379		}3380	}3381	return freeBuildings;3382}

Calls

Called by