Bazaar developer reference

CvPlayer::changeCityYieldFromUnimprovedFeature(FeatureTypes, YieldTypes, int)

Defined in
CvPlayer.cpp, line 20993
Class
CvPlayer
Hook name
CivHooks::CvPlayer_changeCityYieldFromUnimprovedFeature

Hooks

static bool BeforeCvPlayer_changeCityYieldFromUnimprovedFeature(CvPlayer* self, FeatureTypes eIndex1, YieldTypes eIndex2, int iChange);static void AfterCvPlayer_changeCityYieldFromUnimprovedFeature(CvPlayer* self, FeatureTypes eIndex1, YieldTypes eIndex2, int iChange);static void ReplaceCvPlayer_changeCityYieldFromUnimprovedFeature(void (*original)(CvPlayer*, FeatureTypes, YieldTypes, int), CvPlayer* self, FeatureTypes eIndex1, YieldTypes eIndex2, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeCityYieldFromUnimprovedFeature>(host, &BeforeCvPlayer_changeCityYieldFromUnimprovedFeature);CivRegisterAfter<CivHooks::CvPlayer_changeCityYieldFromUnimprovedFeature>(host, &AfterCvPlayer_changeCityYieldFromUnimprovedFeature);CivRegisterReplace<CivHooks::CvPlayer_changeCityYieldFromUnimprovedFeature>(host, &ReplaceCvPlayer_changeCityYieldFromUnimprovedFeature);

Code

20993void CvPlayer::changeCityYieldFromUnimprovedFeature(FeatureTypes eIndex1, YieldTypes eIndex2, int iChange)20994{20995	CvAssertMsg(eIndex1 >= 0, "eIndex1 is expected to be non-negative (invalid Index)");20996	CvAssertMsg(eIndex1 < GC.getNumFeatureInfos(), "eIndex1 is expected to be within maximum bounds (invalid Index)");20997	CvAssertMsg(eIndex2 >= 0, "eIndex2 is expected to be non-negative (invalid Index)");20998	CvAssertMsg(eIndex2 < NUM_YIELD_TYPES, "eIndex2 is expected to be within maximum bounds (invalid Index)");2099921000	if(iChange != 0)21001	{21002		CvAssertMsg(iChange > -50 && iChange < 50, "GAMEPLAY: Yield for a plot is either negative or a ridiculously large number.");2100321004		Firaxis::Array<int, NUM_YIELD_TYPES> yields = m_ppiCityYieldFromUnimprovedFeature[eIndex1];21005		yields[eIndex2] = (m_ppiCityYieldFromUnimprovedFeature[eIndex1][eIndex2] + iChange);21006		m_ppiCityYieldFromUnimprovedFeature[eIndex1] = yields;21007		CvAssert(getCityYieldFromUnimprovedFeature(eIndex1, eIndex2) >= 0);2100821009		updateYield();21010	}21011}

Calls

Called by