Bazaar developer reference

CvPlayer::changeGreatPersonExpendedYield(GreatPersonTypes, YieldTypes, int)

Defined in
CvPlayer.cpp, line 21175
Class
CvPlayer
Hook name
CivHooks::CvPlayer_changeGreatPersonExpendedYield

Hooks

static bool BeforeCvPlayer_changeGreatPersonExpendedYield(CvPlayer* self, GreatPersonTypes eIndex1, YieldTypes eIndex2, int iChange);static void AfterCvPlayer_changeGreatPersonExpendedYield(CvPlayer* self, GreatPersonTypes eIndex1, YieldTypes eIndex2, int iChange);static void ReplaceCvPlayer_changeGreatPersonExpendedYield(void (*original)(CvPlayer*, GreatPersonTypes, YieldTypes, int), CvPlayer* self, GreatPersonTypes eIndex1, YieldTypes eIndex2, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeGreatPersonExpendedYield>(host, &BeforeCvPlayer_changeGreatPersonExpendedYield);CivRegisterAfter<CivHooks::CvPlayer_changeGreatPersonExpendedYield>(host, &AfterCvPlayer_changeGreatPersonExpendedYield);CivRegisterReplace<CivHooks::CvPlayer_changeGreatPersonExpendedYield>(host, &ReplaceCvPlayer_changeGreatPersonExpendedYield);

Code

21175void CvPlayer::changeGreatPersonExpendedYield(GreatPersonTypes eIndex1, YieldTypes eIndex2, int iChange)21176{21177	CvAssertMsg(eIndex1 >= 0, "eIndex1 is expected to be non-negative (invalid Index)");21178	CvAssertMsg(eIndex1 < GC.getNumGreatPersonInfos(), "eIndex1 is expected to be within maximum bounds (invalid Index)");21179	CvAssertMsg(eIndex2 >= 0, "eIndex2 is expected to be non-negative (invalid Index)");21180	CvAssertMsg(eIndex2 < NUM_YIELD_TYPES, "eIndex2 is expected to be within maximum bounds (invalid Index)");2118121182	if(iChange != 0)21183	{21184		Firaxis::Array<int, NUM_YIELD_TYPES> yields = m_ppiGreatPersonExpendedYield[eIndex1];21185		yields[eIndex2] = (m_ppiGreatPersonExpendedYield[eIndex1][eIndex2] + iChange);21186		m_ppiGreatPersonExpendedYield[eIndex1] = yields;21187		CvAssert(GetGreatPersonExpendedYield(eIndex1, eIndex2) >= 0);2118821189		updateYield();21190	}21191}

Calls

Called by