Hooks
static bool BeforeCvTeam_SetHasTradeAgreement(CvTeam* self, TeamTypes eIndex, bool bNewValue);static void AfterCvTeam_SetHasTradeAgreement(CvTeam* self, TeamTypes eIndex, bool bNewValue);static void ReplaceCvTeam_SetHasTradeAgreement(void (*original)(CvTeam*, TeamTypes, bool), CvTeam* self, TeamTypes eIndex, bool bNewValue);CivRegisterBefore<CivHooks::CvTeam_SetHasTradeAgreement>(host, &BeforeCvTeam_SetHasTradeAgreement);CivRegisterAfter<CivHooks::CvTeam_SetHasTradeAgreement>(host, &AfterCvTeam_SetHasTradeAgreement);CivRegisterReplace<CivHooks::CvTeam_SetHasTradeAgreement>(host, &ReplaceCvTeam_SetHasTradeAgreement);
Code
4401void CvTeam::SetHasTradeAgreement(TeamTypes eIndex, bool bNewValue)4402{4403 CvAssertMsg(eIndex >= 0, "eIndex is expected to be non-negative (invalid Index)");4404 CvAssertMsg(eIndex < MAX_TEAMS, "eIndex is expected to be within maximum bounds (invalid Index)");44054406 if(IsHasTradeAgreement(eIndex) != bNewValue)4407 {4408 m_abTradeAgreement[eIndex] = bNewValue;44094410 if((GetID() == GC.getGame().getActiveTeam()) || (eIndex == GC.getGame().getActiveTeam()))4411 {4412 DLLUI->setDirty(Score_DIRTY_BIT, true);4413 }44144415 if(bNewValue && !GET_TEAM(eIndex).IsHasTradeAgreement(GetID()))4416 {4417 CvString strBuffer = GetLocalizedText("TXT_KEY_MISC_PLAYERS_SIGN_TRADE_AGREEMENT", getName().GetCString(), GET_TEAM(eIndex).getName().GetCString());4418 GC.getGame().addReplayMessage(REPLAY_MESSAGE_MAJOR_EVENT, getLeaderID(), strBuffer, -1, -1);4419 }4420 }4421}