Hooks
static bool BeforeCvDiplomacyRequests_Add(CvDiplomacyRequests* self, PlayerTypes eFromPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData, bool& result);static void AfterCvDiplomacyRequests_Add(CvDiplomacyRequests* self, PlayerTypes eFromPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData, bool& result);static bool ReplaceCvDiplomacyRequests_Add(bool (*original)(CvDiplomacyRequests*, PlayerTypes, DiploUIStateTypes, DiploMessageTypes, const char*, LeaderheadAnimationTypes, int), CvDiplomacyRequests* self, PlayerTypes eFromPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData);CivRegisterBefore<CivHooks::CvDiplomacyRequests_Add>(host, &BeforeCvDiplomacyRequests_Add);CivRegisterAfter<CivHooks::CvDiplomacyRequests_Add>(host, &AfterCvDiplomacyRequests_Add);CivRegisterReplace<CivHooks::CvDiplomacyRequests_Add>(host, &ReplaceCvDiplomacyRequests_Add);
Code
239/// Adds a new notification to the list240#if defined(MOD_API_PLAYER_LOGS)241bool CvDiplomacyRequests::Add(PlayerTypes eFromPlayer, DiploUIStateTypes eDiploType, DiploMessageTypes eDiploMessage, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData /*= -1*/)242#else243bool CvDiplomacyRequests::Add(PlayerTypes eFromPlayer, DiploUIStateTypes eDiploType, const char* pszMessage, LeaderheadAnimationTypes eAnimationType, int iExtraGameData /*= -1*/)244#endif245{246 // Queue it up247 m_aRequests.push_back(Request());248 Request& newRequest = m_aRequests.back();249250 newRequest.Clear();251 newRequest.m_eFromPlayer = eFromPlayer;252 newRequest.m_eDiploType = eDiploType;253#if defined(MOD_API_PLAYER_LOGS)254 newRequest.m_eDiploMessageType = eDiploMessage;255#endif256 newRequest.m_strMessage = pszMessage;257 newRequest.m_iExtraGameData = iExtraGameData;258 newRequest.m_eAnimationType = eAnimationType;259 newRequest.m_iTurn = GC.getGame().getGameTurn();260261#if defined(MOD_AI_MP_DIPLOMACY)262 if (MOD_AI_MP_DIPLOMACY && GET_PLAYER(m_ePlayer).isTurnActive())263 {264 BeginTurn(); // this adds notifications, if necessary265 Update(); // this activates requests if appropriate266 }267#endif268269 return true;270}