Bazaar developer reference

CvPlayer::changeUnimprovedFeatureYieldChange(FeatureTypes, YieldTypes, int)

Defined in
CvPlayer.cpp, line 21024
Class
CvPlayer
Hook name
CivHooks::CvPlayer_changeUnimprovedFeatureYieldChange

Hooks

static bool BeforeCvPlayer_changeUnimprovedFeatureYieldChange(CvPlayer* self, FeatureTypes eIndex1, YieldTypes eIndex2, int iChange);static void AfterCvPlayer_changeUnimprovedFeatureYieldChange(CvPlayer* self, FeatureTypes eIndex1, YieldTypes eIndex2, int iChange);static void ReplaceCvPlayer_changeUnimprovedFeatureYieldChange(void (*original)(CvPlayer*, FeatureTypes, YieldTypes, int), CvPlayer* self, FeatureTypes eIndex1, YieldTypes eIndex2, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeUnimprovedFeatureYieldChange>(host, &BeforeCvPlayer_changeUnimprovedFeatureYieldChange);CivRegisterAfter<CivHooks::CvPlayer_changeUnimprovedFeatureYieldChange>(host, &AfterCvPlayer_changeUnimprovedFeatureYieldChange);CivRegisterReplace<CivHooks::CvPlayer_changeUnimprovedFeatureYieldChange>(host, &ReplaceCvPlayer_changeUnimprovedFeatureYieldChange);

Code

21024void CvPlayer::changeUnimprovedFeatureYieldChange(FeatureTypes eIndex1, YieldTypes eIndex2, int iChange)21025{21026	CvAssertMsg(eIndex1 >= 0, "eIndex1 is expected to be non-negative (invalid Index)");21027	CvAssertMsg(eIndex1 < GC.getNumFeatureInfos(), "eIndex1 is expected to be within maximum bounds (invalid Index)");21028	CvAssertMsg(eIndex2 >= 0, "eIndex2 is expected to be non-negative (invalid Index)");21029	CvAssertMsg(eIndex2 < NUM_YIELD_TYPES, "eIndex2 is expected to be within maximum bounds (invalid Index)");2103021031	if(iChange != 0)21032	{21033		CvAssertMsg(iChange > -50 && iChange < 50, "GAMEPLAY: Yield for a plot is either negative or a ridiculously large number.");2103421035		Firaxis::Array<int, NUM_YIELD_TYPES> yields = m_ppiUnimprovedFeatureYieldChange[eIndex1];21036		yields[eIndex2] = (m_ppiUnimprovedFeatureYieldChange[eIndex1][eIndex2] + iChange);21037		m_ppiUnimprovedFeatureYieldChange[eIndex1] = yields;21038		CvAssert(getUnimprovedFeatureYieldChange(eIndex1, eIndex2) >= 0);2103921040		updateYield();21041	}21042}

Calls

Called by