Bazaar developer reference

CvGameDeals::FinalizeDeal(CvDeal, bool)

Defined in
CvDealClasses.cpp, line 2096
Class
CvGameDeals
Hook name
CivHooks::CvGameDeals_FinalizeDeal_with_CvDeal_bool

Hooks

static bool BeforeCvGameDeals_FinalizeDeal_with_CvDeal_bool(CvGameDeals* self, CvDeal kDeal, bool bAccepted, bool& result);static void AfterCvGameDeals_FinalizeDeal_with_CvDeal_bool(CvGameDeals* self, CvDeal kDeal, bool bAccepted, bool& result);static bool ReplaceCvGameDeals_FinalizeDeal_with_CvDeal_bool(bool (*original)(CvGameDeals*, CvDeal, bool), CvGameDeals* self, CvDeal kDeal, bool bAccepted);CivRegisterBefore<CivHooks::CvGameDeals_FinalizeDeal_with_CvDeal_bool>(host, &BeforeCvGameDeals_FinalizeDeal_with_CvDeal_bool);CivRegisterAfter<CivHooks::CvGameDeals_FinalizeDeal_with_CvDeal_bool>(host, &AfterCvGameDeals_FinalizeDeal_with_CvDeal_bool);CivRegisterReplace<CivHooks::CvGameDeals_FinalizeDeal_with_CvDeal_bool>(host, &ReplaceCvGameDeals_FinalizeDeal_with_CvDeal_bool);

Code

2095/// Moves a deal from the proposed list to the active one (returns FALSE if deal not valid)2096bool CvGameDeals::FinalizeDeal(CvDeal kDeal, bool bAccepted)2097{2098	PlayerTypes eFromPlayer = kDeal.m_eFromPlayer;2099	PlayerTypes eToPlayer = kDeal.m_eToPlayer;2100	bool bFoundIt = true;2101	bool bValid = kDeal.AreAllTradeItemsValid();2102	CvWeightedVector<TeamTypes, MAX_CIV_TEAMS, true> veNowAtPeacePairs; // hacked CvWeighedVector to keep track of third party minors that this deal makes at peace2103	{2104		if(!bValid || !bAccepted)2105		{2106			LogDealFailed(&kDeal, false, !bAccepted, true);2107		}21082109		if(bValid && bAccepted)2110		{2111			FinalizeDealValidAndAccepted(eFromPlayer, eToPlayer, kDeal, bAccepted, veNowAtPeacePairs);2112		}2113	}2114	2115	FinalizeDealNotify(eFromPlayer, eToPlayer, veNowAtPeacePairs);21162117	return bFoundIt && bValid;2118}

Calls

Called by