Hooks
static bool BeforeCvPlayer_changeTradeRouteYieldChange(CvPlayer* self, DomainTypes eIndex1, YieldTypes eIndex2, int iChange);static void AfterCvPlayer_changeTradeRouteYieldChange(CvPlayer* self, DomainTypes eIndex1, YieldTypes eIndex2, int iChange);static void ReplaceCvPlayer_changeTradeRouteYieldChange(void (*original)(CvPlayer*, DomainTypes, YieldTypes, int), CvPlayer* self, DomainTypes eIndex1, YieldTypes eIndex2, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeTradeRouteYieldChange>(host, &BeforeCvPlayer_changeTradeRouteYieldChange);CivRegisterAfter<CivHooks::CvPlayer_changeTradeRouteYieldChange>(host, &AfterCvPlayer_changeTradeRouteYieldChange);CivRegisterReplace<CivHooks::CvPlayer_changeTradeRouteYieldChange>(host, &ReplaceCvPlayer_changeTradeRouteYieldChange);
Code
21117void CvPlayer::changeTradeRouteYieldChange(DomainTypes eIndex1, YieldTypes eIndex2, int iChange)21118{21119 CvAssertMsg(eIndex1 >= 0, "eIndex1 is expected to be non-negative (invalid Index)");21120 CvAssertMsg(eIndex1 < GC.getNumDomainInfos(), "eIndex1 is expected to be within maximum bounds (invalid Index)");21121 CvAssertMsg(eIndex2 >= 0, "eIndex2 is expected to be non-negative (invalid Index)");21122 CvAssertMsg(eIndex2 < NUM_YIELD_TYPES, "eIndex2 is expected to be within maximum bounds (invalid Index)");2112321124 if(iChange != 0)21125 {21126 Firaxis::Array<int, NUM_YIELD_TYPES> yields = m_ppiTradeRouteYieldChange[eIndex1];21127 yields[eIndex2] = (m_ppiTradeRouteYieldChange[eIndex1][eIndex2] + iChange);21128 m_ppiTradeRouteYieldChange[eIndex1] = yields;21129 CvAssert(getTradeRouteYieldChange(eIndex1, eIndex2) >= 0);2113021131 updateYield();21132 }21133}