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}