Bazaar developer reference

CvCity::CanAirlift() const

Defined in
CvCity.cpp, line 9388
Class
CvCity
Hook name
CivHooks::CvCity_CanAirlift
Lua events
GameEvents.CityCanAirlift

Hooks

static bool BeforeCvCity_CanAirlift(const CvCity* self, bool& result);static void AfterCvCity_CanAirlift(const CvCity* self, bool& result);static bool ReplaceCvCity_CanAirlift(bool (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_CanAirlift>(host, &BeforeCvCity_CanAirlift);CivRegisterAfter<CivHooks::CvCity_CanAirlift>(host, &AfterCvCity_CanAirlift);CivRegisterReplace<CivHooks::CvCity_CanAirlift>(host, &ReplaceCvCity_CanAirlift);

Code

9388bool CvCity::CanAirlift() const9389{9390	int iBuildingClassLoop;9391	BuildingClassTypes eBuildingClass;9392	CvPlayer &kPlayer = GET_PLAYER(getOwner());93939394	for(iBuildingClassLoop = 0; iBuildingClassLoop < GC.getNumBuildingClassInfos(); iBuildingClassLoop++)9395	{9396		eBuildingClass = (BuildingClassTypes) iBuildingClassLoop;93979398		CvBuildingClassInfo* pkBuildingClassInfo = GC.getBuildingClassInfo(eBuildingClass);9399		if(!pkBuildingClassInfo)9400		{9401			continue;9402		}94039404		BuildingTypes eBuilding = (BuildingTypes)kPlayer.getCivilizationInfo().getCivilizationBuildings(eBuildingClass);9405		if(eBuilding != NO_BUILDING && GetCityBuildings()->GetNumBuilding(eBuilding) > 0) // slewis - added the NO_BUILDING check for the ConquestDLX scenario which has civ specific wonders9406		{9407			CvBuildingEntry* pkBuildingInfo = GC.getBuildingInfo(eBuilding);9408			if(!pkBuildingInfo)9409			{9410				continue;9411			}94129413			if (pkBuildingInfo->IsAirlift())9414			{9415				return true;9416			}9417		}9418	}94199420#if defined(MOD_EVENTS_CITY_AIRLIFT)9421	if (MOD_EVENTS_CITY_AIRLIFT) {9422		if (GAMEEVENTINVOKE_TESTANY(GAMEEVENT_CityCanAirlift, getOwner(), GetID()) == GAMEEVENTRETURN_TRUE) {9423			return true;9424		}9425	}9426#endif				94279428	return false;9429}

Calls

Called by