Bazaar developer reference

CvUnit::getCaptureUnitType(CivilizationTypes) const

Defined in
CvUnit.cpp, line 11399
Class
CvUnit
Hook name
CivHooks::CvUnit_getCaptureUnitType
Lua events
GameEvents.UnitCaptureType

Hooks

static bool BeforeCvUnit_getCaptureUnitType(const CvUnit* self, CivilizationTypes eCivilization, UnitTypes& result);static void AfterCvUnit_getCaptureUnitType(const CvUnit* self, CivilizationTypes eCivilization, UnitTypes& result);static UnitTypes ReplaceCvUnit_getCaptureUnitType(UnitTypes (*original)(const CvUnit*, CivilizationTypes), const CvUnit* self, CivilizationTypes eCivilization);CivRegisterBefore<CivHooks::CvUnit_getCaptureUnitType>(host, &BeforeCvUnit_getCaptureUnitType);CivRegisterAfter<CivHooks::CvUnit_getCaptureUnitType>(host, &AfterCvUnit_getCaptureUnitType);CivRegisterReplace<CivHooks::CvUnit_getCaptureUnitType>(host, &ReplaceCvUnit_getCaptureUnitType);

Code

11399UnitTypes CvUnit::getCaptureUnitType(CivilizationTypes eCivilization) const11400{11401	VALIDATE_OBJECT11402	CvAssert(eCivilization != NO_CIVILIZATION);11403	CvCivilizationInfo* pkCivilizationInfo = GC.getCivilizationInfo(eCivilization);11404	if(pkCivilizationInfo == NULL)11405	{11406		return NO_UNIT;11407	}11408	11409#if defined(MOD_EVENTS_UNIT_CAPTURE)11410	if (MOD_EVENTS_UNIT_CAPTURE) {11411		int iValue = 0;11412		if (GAMEEVENTINVOKE_VALUE(iValue, GAMEEVENT_UnitCaptureType, getOwner(), GetID(), getUnitType(), eCivilization) == GAMEEVENTRETURN_VALUE) {11413			// Defend against modder stupidity!11414			if (iValue >= NO_UNIT && (iValue == NO_UNIT || GC.getUnitInfo((UnitTypes) iValue) != NULL)) {11415				return (UnitTypes) iValue;11416			}11417		}11418	}11419#endif1142011421	return ((m_pUnitInfo->GetUnitCaptureClassType() == NO_UNITCLASS) ? NO_UNIT : (UnitTypes)pkCivilizationInfo->getCivilizationUnits(getUnitInfo().GetUnitCaptureClassType()));11422}

Calls

Called by