Hooks
static bool BeforeCvGameDeals_FinalizeDeal(CvGameDeals* self, PlayerTypes eFromPlayer, PlayerTypes eToPlayer, bool bAccepted, bool latest, bool& result);static void AfterCvGameDeals_FinalizeDeal(CvGameDeals* self, PlayerTypes eFromPlayer, PlayerTypes eToPlayer, bool bAccepted, bool latest, bool& result);static bool ReplaceCvGameDeals_FinalizeDeal(bool (*original)(CvGameDeals*, PlayerTypes, PlayerTypes, bool, bool), CvGameDeals* self, PlayerTypes eFromPlayer, PlayerTypes eToPlayer, bool bAccepted, bool latest);CivRegisterBefore<CivHooks::CvGameDeals_FinalizeDeal>(host, &BeforeCvGameDeals_FinalizeDeal);CivRegisterAfter<CivHooks::CvGameDeals_FinalizeDeal>(host, &AfterCvGameDeals_FinalizeDeal);CivRegisterReplace<CivHooks::CvGameDeals_FinalizeDeal>(host, &ReplaceCvGameDeals_FinalizeDeal);
Code
2082#if defined(MOD_AI_MP_DIPLOMACY)2083/// Moves a deal from the proposed list to the active one (returns FALSE if deal is not valid)2084bool CvGameDeals::FinalizeDeal(PlayerTypes eFromPlayer, PlayerTypes eToPlayer, bool bAccepted, bool latest)2085{2086 CvDeal kDeal;2087 if (!RemoveProposedDeal(eFromPlayer, eToPlayer, &kDeal, latest))2088 {2089 LogDealFailed(NULL, false, !bAccepted, false);2090 return false;2091 }2092 return FinalizeDeal(kDeal, bAccepted);2093}