Bazaar developer reference

CvPlayer::changeBuildingClassYieldChange(BuildingClassTypes, YieldTypes, int)

Defined in
CvPlayer.cpp, line 21326
Class
CvPlayer
Hook name
CivHooks::CvPlayer_changeBuildingClassYieldChange

Hooks

static bool BeforeCvPlayer_changeBuildingClassYieldChange(CvPlayer* self, BuildingClassTypes eIndex1, YieldTypes eIndex2, int iChange);static void AfterCvPlayer_changeBuildingClassYieldChange(CvPlayer* self, BuildingClassTypes eIndex1, YieldTypes eIndex2, int iChange);static void ReplaceCvPlayer_changeBuildingClassYieldChange(void (*original)(CvPlayer*, BuildingClassTypes, YieldTypes, int), CvPlayer* self, BuildingClassTypes eIndex1, YieldTypes eIndex2, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeBuildingClassYieldChange>(host, &BeforeCvPlayer_changeBuildingClassYieldChange);CivRegisterAfter<CivHooks::CvPlayer_changeBuildingClassYieldChange>(host, &AfterCvPlayer_changeBuildingClassYieldChange);CivRegisterReplace<CivHooks::CvPlayer_changeBuildingClassYieldChange>(host, &ReplaceCvPlayer_changeBuildingClassYieldChange);

Code

21326void CvPlayer::changeBuildingClassYieldChange(BuildingClassTypes eIndex1, YieldTypes eIndex2, int iChange)21327{21328	CvAssertMsg(eIndex1 >= 0, "eIndex1 is expected to be non-negative (invalid Index)");21329	CvAssertMsg(eIndex1 < GC.getNumBuildingClassInfos(), "eIndex1 is expected to be within maximum bounds (invalid Index)");21330	CvAssertMsg(eIndex2 >= 0, "eIndex2 is expected to be non-negative (invalid Index)");21331	CvAssertMsg(eIndex2 < NUM_YIELD_TYPES, "eIndex2 is expected to be within maximum bounds (invalid Index)");2133221333	if(iChange != 0)21334	{21335		CvAssertMsg(iChange > -50 && iChange < 50, "GAMEPLAY: Yield for a plot is either negative or a ridiculously large number. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");2133621337		Firaxis::Array<int, NUM_YIELD_TYPES> yields = m_ppiBuildingClassYieldChange[eIndex1];21338		yields[eIndex2] = (m_ppiBuildingClassYieldChange[eIndex1][eIndex2] + iChange);21339		m_ppiBuildingClassYieldChange.setAt(eIndex1, yields);21340		CvAssert(getBuildingClassYieldChange(eIndex1, eIndex2) >= 0);2134121342		updateYield();21343	}21344}

Calls