Bazaar developer reference

CvUnit::canGiveExperience(const CvPlot *) const

Defined in
CvUnit.cpp, line 10846
Class
CvUnit
Hook name
CivHooks::CvUnit_canGiveExperience

Hooks

static bool BeforeCvUnit_canGiveExperience(const CvUnit* self, const CvPlot* pPlot, int& result);static void AfterCvUnit_canGiveExperience(const CvUnit* self, const CvPlot* pPlot, int& result);static int ReplaceCvUnit_canGiveExperience(int (*original)(const CvUnit*, const CvPlot*), const CvUnit* self, const CvPlot* pPlot);CivRegisterBefore<CivHooks::CvUnit_canGiveExperience>(host, &BeforeCvUnit_canGiveExperience);CivRegisterAfter<CivHooks::CvUnit_canGiveExperience>(host, &AfterCvUnit_canGiveExperience);CivRegisterReplace<CivHooks::CvUnit_canGiveExperience>(host, &ReplaceCvUnit_canGiveExperience);

Code

10846int CvUnit::canGiveExperience(const CvPlot* pPlot) const10847{10848	VALIDATE_OBJECT10849	int iNumUnits = 0;1085010851	if(NO_UNIT != getUnitType() && getUnitInfo().GetLeaderExperience() > 0)10852	{10853		const IDInfo* pUnitNode = pPlot->headUnitNode();10854		while(pUnitNode != NULL)10855		{10856			const CvUnit* pUnit = ::getUnit(*pUnitNode);10857			pUnitNode = pPlot->nextUnitNode(pUnitNode);1085810859			if(pUnit && pUnit != this && pUnit->getOwner() == getOwner() && pUnit->canAcquirePromotionAny())10860			{10861				++iNumUnits;10862			}10863		}10864	}1086510866	return iNumUnits;10867}

Calls

Called by