Bazaar developer reference

CvPlayerTraits::GetFreeBuilding() const

Defined in
CvTraitClasses.cpp, line 2912
Class
CvPlayerTraits
Hook name
CivHooks::CvPlayerTraits_GetFreeBuilding

Hooks

static bool BeforeCvPlayerTraits_GetFreeBuilding(const CvPlayerTraits* self, BuildingTypes& result);static void AfterCvPlayerTraits_GetFreeBuilding(const CvPlayerTraits* self, BuildingTypes& result);static BuildingTypes ReplaceCvPlayerTraits_GetFreeBuilding(BuildingTypes (*original)(const CvPlayerTraits*), const CvPlayerTraits* self);CivRegisterBefore<CivHooks::CvPlayerTraits_GetFreeBuilding>(host, &BeforeCvPlayerTraits_GetFreeBuilding);CivRegisterAfter<CivHooks::CvPlayerTraits_GetFreeBuilding>(host, &AfterCvPlayerTraits_GetFreeBuilding);CivRegisterReplace<CivHooks::CvPlayerTraits_GetFreeBuilding>(host, &ReplaceCvPlayerTraits_GetFreeBuilding);

Code

2911/// Does each city get a free building?2912BuildingTypes CvPlayerTraits::GetFreeBuilding() const2913{2914	for(int iI = 0; iI < GC.getNumTraitInfos(); iI++)2915	{2916		const TraitTypes eTrait = static_cast<TraitTypes>(iI);2917		CvTraitEntry* pkTraitInfo = GC.getTraitInfo(eTrait);2918		if(pkTraitInfo)2919		{2920			if(HasTrait(eTrait))2921			{2922				if(pkTraitInfo->GetFreeBuilding())2923				{2924					return pkTraitInfo->GetFreeBuilding();2925				}2926			}2927		}2928	}29292930	return NO_BUILDING;2931}

Calls

Called by