CvDealAI::GetDealValue(CvDeal *, int &, int &, bool)
- Defined in
- CvDealAI.cpp, line 839
- Class
- CvDealAI
- Hook name
CivHooks::CvDealAI_GetDealValue
Hooks
static bool BeforeCvDealAI_GetDealValue(CvDealAI* self, CvDeal* pDeal, int& iValueImOffering, int& iValueTheyreOffering, bool bUseEvenValue, int& result);static void AfterCvDealAI_GetDealValue(CvDealAI* self, CvDeal* pDeal, int& iValueImOffering, int& iValueTheyreOffering, bool bUseEvenValue, int& result);static int ReplaceCvDealAI_GetDealValue(int (*original)(CvDealAI*, CvDeal*, int&, int&, bool), CvDealAI* self, CvDeal* pDeal, int& iValueImOffering, int& iValueTheyreOffering, bool bUseEvenValue);CivRegisterBefore<CivHooks::CvDealAI_GetDealValue>(host, &BeforeCvDealAI_GetDealValue);CivRegisterAfter<CivHooks::CvDealAI_GetDealValue>(host, &AfterCvDealAI_GetDealValue);CivRegisterReplace<CivHooks::CvDealAI_GetDealValue>(host, &ReplaceCvDealAI_GetDealValue);
Code
838/// What do we think of a Deal?839int CvDealAI::GetDealValue(CvDeal* pDeal, int& iValueImOffering, int& iValueTheyreOffering, bool bUseEvenValue)840{841 int iDealValue = 0;842 iValueImOffering = 0;843 iValueTheyreOffering = 0;844845 PlayerTypes eMyPlayer = GetPlayer()->GetID();846847 int iItemValue;848849 bool bFromMe;850 PlayerTypes eOtherPlayer;851852 eOtherPlayer = pDeal->m_eFromPlayer == eMyPlayer ? pDeal->m_eToPlayer : pDeal->m_eFromPlayer;853854 TradedItemList::iterator it;855 for(it = pDeal->m_TradedItems.begin(); it != pDeal->m_TradedItems.end(); ++it)856 {857 if(eMyPlayer == it->m_eFromPlayer)858 {859 bFromMe = true;860 eOtherPlayer = pDeal->GetOtherPlayer(eMyPlayer);861 }862 else863 {864 bFromMe = false;865 eOtherPlayer = it->m_eFromPlayer;866 }867868 // Multiplier is -1 if we're giving something away, 1 if we're receiving something869 int iValueMultiplier = bFromMe ? -1 : 1;870871 iItemValue = GetTradeItemValue(it->m_eItemType, bFromMe, eOtherPlayer, it->m_iData1, it->m_iData2, it->m_iData3, it->m_bFlag1, it->m_iDuration, bUseEvenValue);872873 iItemValue *= iValueMultiplier;874 iDealValue += iItemValue;875876 // Figure out who's offering what, and keep track of the overall value on both sides of the deal877 if(iItemValue < 0)878 {879 iValueImOffering -= iItemValue;880 }881 else882 {883 iValueTheyreOffering += iItemValue;884 }885 }886887 return iDealValue;888}
Calls
- CvDeal::GetOtherPlayer(PlayerTypes) const
- CvDealAI::GetPlayer()
- CvDealAI::GetTradeItemValue(TradeableItems, bool, PlayerTypes, int, int, int, bool, int, bool)
- CvPlayer::GetID() const
FCustomList_Core::base_iterator::operator++FFastList::iterator::iteratorFFastList::iterator::operator->
Called by
- CvDealAI::DoAddCitiesToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoAddEmbassyToThem(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoAddEmbassyToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoAddGPTToThem(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoAddGPTToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoAddGoldToThem(CvDeal *, PlayerTypes, bool, int &, int &, int &, bool)
- CvDealAI::DoAddGoldToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, bool)
- CvDealAI::DoAddOpenBordersToThem(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, int, bool)
- CvDealAI::DoAddOpenBordersToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, int, bool)
- CvDealAI::DoAddResourceToThem(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, int, bool)
- CvDealAI::DoAddResourceToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, int, bool)
- CvDealAI::DoAddVoteCommitmentToThem(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoAddVoteCommitmentToUs(CvDeal *, PlayerTypes, bool, int &, int &, int &, int, bool)
- CvDealAI::DoEqualizeDealWithAI(CvDeal *, PlayerTypes)
- CvDealAI::DoRemoveGPTFromThem(CvDeal *, PlayerTypes, int &, int &, int &, int, bool)
- CvDealAI::DoRemoveGPTFromUs(CvDeal *, PlayerTypes, int &, int &, int &, int, bool)
- CvDealAI::DoRemoveGoldFromThem(CvDeal *, PlayerTypes, int &, int &, int &, bool)
- CvDealAI::DoRemoveGoldFromUs(CvDeal *, PlayerTypes, int &, int &, int &, bool)
- CvDealAI::DoTradeScreenOpened()
- CvDealAI::IsDealWithHumanAcceptable(CvDeal *, PlayerTypes, int &, int &, int &, int &, int &, bool &)
- CvDealAI::IsOfferPeace(PlayerTypes, CvDeal *, bool)
- CvLuaPlayer::lGetDealMyValue(lua_State *)
- CvLuaPlayer::lGetDealTheyreValue(lua_State *)
- CvLuaPlayer::lGetDealValue(lua_State *)