CvLeague::IsTradeEmbargoed(PlayerTypes, PlayerTypes)
- Defined in
- CvVotingClasses.cpp, line 3853
- Class
- CvLeague
- Hook name
CivHooks::CvLeague_IsTradeEmbargoed
Hooks
static bool BeforeCvLeague_IsTradeEmbargoed(CvLeague* self, PlayerTypes eTrader, PlayerTypes eRecipient, bool& result);static void AfterCvLeague_IsTradeEmbargoed(CvLeague* self, PlayerTypes eTrader, PlayerTypes eRecipient, bool& result);static bool ReplaceCvLeague_IsTradeEmbargoed(bool (*original)(CvLeague*, PlayerTypes, PlayerTypes), CvLeague* self, PlayerTypes eTrader, PlayerTypes eRecipient);CivRegisterBefore<CivHooks::CvLeague_IsTradeEmbargoed>(host, &BeforeCvLeague_IsTradeEmbargoed);CivRegisterAfter<CivHooks::CvLeague_IsTradeEmbargoed>(host, &AfterCvLeague_IsTradeEmbargoed);CivRegisterReplace<CivHooks::CvLeague_IsTradeEmbargoed>(host, &ReplaceCvLeague_IsTradeEmbargoed);
Code
3853bool CvLeague::IsTradeEmbargoed(PlayerTypes eTrader, PlayerTypes eRecipient)3854{3855 CvAssertMsg(eTrader >= 0 && eTrader < MAX_CIV_PLAYERS, "Invalid index for eTrader. Please send Anton your save file and version.");3856 if (eTrader < 0 || eTrader >= MAX_CIV_PLAYERS) return false;3857 CvAssertMsg(eRecipient >= 0 && eRecipient < MAX_CIV_PLAYERS, "Invalid index for eRecipient. Please send Anton your save file and version.");3858 if (eRecipient < 0 || eRecipient >= MAX_CIV_PLAYERS) return false;3859 for (ActiveResolutionList::iterator it = m_vActiveResolutions.begin(); it != m_vActiveResolutions.end(); it++)3860 {3861 // Trade route involving a minor civ3862 if (GET_PLAYER(eTrader).isMinorCiv() || GET_PLAYER(eRecipient).isMinorCiv())3863 {3864 if (it->GetEffects()->bEmbargoCityStates)3865 {3866 return true;3867 }3868 }3869 // Trade route between two majors3870 else3871 { 3872 if (it->GetEffects()->bEmbargoPlayer)3873 {3874 PlayerTypes eEmbargoedMajor = (PlayerTypes) it->GetProposerDecision()->GetDecision();3875 CvAssert(eEmbargoedMajor != NO_PLAYER);3876 if (eEmbargoedMajor == eTrader || eEmbargoedMajor == eRecipient)3877 {3878 return true;3879 }3880 }3881 }3882 }3883 return false;3884}