Bazaar developer reference

CvPlayer::specialistYield(SpecialistTypes, YieldTypes) const

Defined in
CvPlayer.cpp, line 10011
Class
CvPlayer
Hook name
CivHooks::CvPlayer_specialistYield

Hooks

static bool BeforeCvPlayer_specialistYield(const CvPlayer* self, SpecialistTypes eSpecialist, YieldTypes eYield, int& result);static void AfterCvPlayer_specialistYield(const CvPlayer* self, SpecialistTypes eSpecialist, YieldTypes eYield, int& result);static int ReplaceCvPlayer_specialistYield(int (*original)(const CvPlayer*, SpecialistTypes, YieldTypes), const CvPlayer* self, SpecialistTypes eSpecialist, YieldTypes eYield);CivRegisterBefore<CivHooks::CvPlayer_specialistYield>(host, &BeforeCvPlayer_specialistYield);CivRegisterAfter<CivHooks::CvPlayer_specialistYield>(host, &AfterCvPlayer_specialistYield);CivRegisterReplace<CivHooks::CvPlayer_specialistYield>(host, &ReplaceCvPlayer_specialistYield);

Code

10011int CvPlayer::specialistYield(SpecialistTypes eSpecialist, YieldTypes eYield) const10012{10013	CvSpecialistInfo* pkSpecialistInfo = GC.getSpecialistInfo(eSpecialist);10014	if(pkSpecialistInfo == NULL)10015	{10016		//This function REQUIRES a valid specialist info.10017		CvAssert(pkSpecialistInfo);10018		return 0;10019	}1002010021	int iRtnValue = pkSpecialistInfo->getYieldChange(eYield) + getSpecialistExtraYield(eSpecialist, eYield) + GetPlayerTraits()->GetSpecialistYieldChange(eSpecialist, eYield);10022#if defined(MOD_API_UNIFIED_YIELDS)10023	iRtnValue += getSpecialistYieldChange(eSpecialist, eYield);10024#endif1002510026	if (eSpecialist != GC.getDEFAULT_SPECIALIST())10027	{10028		iRtnValue += getSpecialistExtraYield(eYield);10029	}10030	return (iRtnValue);10031}

Calls

Called by