CvGameDeals::GetTradeItemGoldCost(TradeableItems, PlayerTypes, PlayerTypes) const
- Defined in
- CvDealClasses.cpp, line 3479
- Class
- CvGameDeals
- Hook name
CivHooks::CvGameDeals_GetTradeItemGoldCost
Hooks
static bool BeforeCvGameDeals_GetTradeItemGoldCost(const CvGameDeals* self, TradeableItems eItem, PlayerTypes ePlayer1, PlayerTypes ePlayer2, int& result);static void AfterCvGameDeals_GetTradeItemGoldCost(const CvGameDeals* self, TradeableItems eItem, PlayerTypes ePlayer1, PlayerTypes ePlayer2, int& result);static int ReplaceCvGameDeals_GetTradeItemGoldCost(int (*original)(const CvGameDeals*, TradeableItems, PlayerTypes, PlayerTypes), const CvGameDeals* self, TradeableItems eItem, PlayerTypes ePlayer1, PlayerTypes ePlayer2);CivRegisterBefore<CivHooks::CvGameDeals_GetTradeItemGoldCost>(host, &BeforeCvGameDeals_GetTradeItemGoldCost);CivRegisterAfter<CivHooks::CvGameDeals_GetTradeItemGoldCost>(host, &AfterCvGameDeals_GetTradeItemGoldCost);CivRegisterReplace<CivHooks::CvGameDeals_GetTradeItemGoldCost>(host, &ReplaceCvGameDeals_GetTradeItemGoldCost);
Code
3478/// Some trade items require Gold to be spent by both players3479int CvGameDeals::GetTradeItemGoldCost(TradeableItems eItem, PlayerTypes ePlayer1, PlayerTypes ePlayer2) const3480{3481 int iGoldCost = 0;34823483 switch(eItem)3484 {3485 case TRADE_ITEM_RESEARCH_AGREEMENT:3486 {3487 iGoldCost = GC.getGame().GetResearchAgreementCost(ePlayer1, ePlayer2);3488 break;3489 }3490 case TRADE_ITEM_TRADE_AGREEMENT:3491 iGoldCost = 250;3492 break;3493 }34943495 return iGoldCost;3496}
Calls
Called by
- CvDeal::GetGoldAvailable(PlayerTypes, TradeableItems)
- CvDeal::IsPossibleToTradeItem(PlayerTypes, PlayerTypes, TradeableItems, int, int, int, bool, bool, bool)
- CvGameDeals::FinalizeDealValidAndAccepted(PlayerTypes, PlayerTypes, CvDeal &, bool, CvWeightedVector<TeamTypes, ((63)), true> &)
- CvDiplomacyAI::DoAddWantsResearchAgreementWithPlayer(PlayerTypes)
- CvDiplomacyAI::IsCanMakeResearchAgreementRightNow(PlayerTypes)