Bazaar developer reference

CvDeal::AddCityTrade(PlayerTypes, int)

Defined in
CvDealClasses.cpp, line 1025
Class
CvDeal
Hook name
CivHooks::CvDeal_AddCityTrade

Hooks

static bool BeforeCvDeal_AddCityTrade(CvDeal* self, PlayerTypes eFrom, int iCityID);static void AfterCvDeal_AddCityTrade(CvDeal* self, PlayerTypes eFrom, int iCityID);static void ReplaceCvDeal_AddCityTrade(void (*original)(CvDeal*, PlayerTypes, int), CvDeal* self, PlayerTypes eFrom, int iCityID);CivRegisterBefore<CivHooks::CvDeal_AddCityTrade>(host, &BeforeCvDeal_AddCityTrade);CivRegisterAfter<CivHooks::CvDeal_AddCityTrade>(host, &AfterCvDeal_AddCityTrade);CivRegisterReplace<CivHooks::CvDeal_AddCityTrade>(host, &ReplaceCvDeal_AddCityTrade);

Code

1024/// Insert a city trade1025void CvDeal::AddCityTrade(PlayerTypes eFrom, int iCityID)1026{1027	CvAssertMsg(eFrom == m_eFromPlayer || eFrom == m_eToPlayer, "DEAL: Adding deal item for a player that's not actually in this deal!  Please send Jon this with your last 5 autosaves and what changelist # you're playing.");10281029	CvCity* pCity = GET_PLAYER(eFrom).getCity(iCityID);1030	int x = pCity->getX();1031	int y = pCity->getY();10321033	if(IsPossibleToTradeItem(eFrom, GetOtherPlayer(eFrom), TRADE_ITEM_CITIES, x, y))1034	{1035		CvTradedItem item;1036		item.m_eItemType = TRADE_ITEM_CITIES;1037		item.m_iDuration = 0;1038		item.m_iFinalTurn = -1;10391040		item.m_iData1 = x;1041		item.m_iData2 = y;10421043		item.m_eFromPlayer = eFrom;1044		m_TradedItems.push_back(item);1045	}1046	else1047	{1048		CvAssertMsg(false, "DEAL: Trying to add an invalid City to a deal");1049	}1050}

Calls

Called by