Bazaar developer reference

CvPlayer::changeSpecialistYieldChange(SpecialistTypes, YieldTypes, int)

Defined in
CvPlayer.cpp, line 21146
Class
CvPlayer
Hook name
CivHooks::CvPlayer_changeSpecialistYieldChange

Hooks

static bool BeforeCvPlayer_changeSpecialistYieldChange(CvPlayer* self, SpecialistTypes eIndex1, YieldTypes eIndex2, int iChange);static void AfterCvPlayer_changeSpecialistYieldChange(CvPlayer* self, SpecialistTypes eIndex1, YieldTypes eIndex2, int iChange);static void ReplaceCvPlayer_changeSpecialistYieldChange(void (*original)(CvPlayer*, SpecialistTypes, YieldTypes, int), CvPlayer* self, SpecialistTypes eIndex1, YieldTypes eIndex2, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeSpecialistYieldChange>(host, &BeforeCvPlayer_changeSpecialistYieldChange);CivRegisterAfter<CivHooks::CvPlayer_changeSpecialistYieldChange>(host, &AfterCvPlayer_changeSpecialistYieldChange);CivRegisterReplace<CivHooks::CvPlayer_changeSpecialistYieldChange>(host, &ReplaceCvPlayer_changeSpecialistYieldChange);

Code

21146void CvPlayer::changeSpecialistYieldChange(SpecialistTypes eIndex1, YieldTypes eIndex2, int iChange)21147{21148	CvAssertMsg(eIndex1 >= 0, "eIndex1 is expected to be non-negative (invalid Index)");21149	CvAssertMsg(eIndex1 < GC.getNumSpecialistInfos(), "eIndex1 is expected to be within maximum bounds (invalid Index)");21150	CvAssertMsg(eIndex2 >= 0, "eIndex2 is expected to be non-negative (invalid Index)");21151	CvAssertMsg(eIndex2 < NUM_YIELD_TYPES, "eIndex2 is expected to be within maximum bounds (invalid Index)");2115221153	if(iChange != 0)21154	{21155		Firaxis::Array<int, NUM_YIELD_TYPES> yields = m_ppiSpecialistYieldChange[eIndex1];21156		yields[eIndex2] = (m_ppiSpecialistYieldChange[eIndex1][eIndex2] + iChange);21157		m_ppiSpecialistYieldChange[eIndex1] = yields;21158		CvAssert(getSpecialistYieldChange(eIndex1, eIndex2) >= 0);2115921160		updateYield();21161	}21162}

Calls

Called by