CvDiplomacyAI::ChangeRecentTradeValue(PlayerTypes, int)
- Defined in
- CvDiplomacyAI.cpp, line 7976
- Class
- CvDiplomacyAI
- Hook name
CivHooks::CvDiplomacyAI_ChangeRecentTradeValue
Hooks
static bool BeforeCvDiplomacyAI_ChangeRecentTradeValue(CvDiplomacyAI* self, PlayerTypes ePlayer, int iChange);static void AfterCvDiplomacyAI_ChangeRecentTradeValue(CvDiplomacyAI* self, PlayerTypes ePlayer, int iChange);static void ReplaceCvDiplomacyAI_ChangeRecentTradeValue(void (*original)(CvDiplomacyAI*, PlayerTypes, int), CvDiplomacyAI* self, PlayerTypes ePlayer, int iChange);CivRegisterBefore<CivHooks::CvDiplomacyAI_ChangeRecentTradeValue>(host, &BeforeCvDiplomacyAI_ChangeRecentTradeValue);CivRegisterAfter<CivHooks::CvDiplomacyAI_ChangeRecentTradeValue>(host, &AfterCvDiplomacyAI_ChangeRecentTradeValue);CivRegisterReplace<CivHooks::CvDiplomacyAI_ChangeRecentTradeValue>(host, &ReplaceCvDiplomacyAI_ChangeRecentTradeValue);
Code
7975/// Set value of recent trades7976void CvDiplomacyAI::ChangeRecentTradeValue(PlayerTypes ePlayer, int iChange)7977{7978 if(iChange != 0)7979 {7980 CvAssertMsg(ePlayer >= 0, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");7981 CvAssertMsg(ePlayer < MAX_MAJOR_CIVS, "DIPLOMACY_AI: Invalid Player Index. Please send Jon this with your last 5 autosaves and what changelist # you're playing.");79827983 m_paiTradeValue[ePlayer] += iChange;7984 short iMaxOpinionValue = GC.getDEAL_VALUE_PER_OPINION_WEIGHT() * -(GC.getOPINION_WEIGHT_TRADE_MAX());79857986 // Must be between 0 and maximum possible boost to opinion7987 if(m_paiTradeValue[ePlayer] < 0)7988 {7989 m_paiTradeValue[ePlayer] = 0;7990 }7991 else if(m_paiTradeValue[ePlayer] > iMaxOpinionValue)7992 {7993 m_paiTradeValue[ePlayer] = iMaxOpinionValue;7994 }7995 }7996}