Hooks
static bool BeforeCultureHelpers_SendArtSwapNotification(GreatWorkSlotType eType, bool bArt, PlayerTypes eOriginator, PlayerTypes eReceipient, int iWorkFromOriginator, int iWorkFromRecipient);static void AfterCultureHelpers_SendArtSwapNotification(GreatWorkSlotType eType, bool bArt, PlayerTypes eOriginator, PlayerTypes eReceipient, int iWorkFromOriginator, int iWorkFromRecipient);static void ReplaceCultureHelpers_SendArtSwapNotification(void (*original)(GreatWorkSlotType, bool, PlayerTypes, PlayerTypes, int, int), GreatWorkSlotType eType, bool bArt, PlayerTypes eOriginator, PlayerTypes eReceipient, int iWorkFromOriginator, int iWorkFromRecipient);CivRegisterBefore<CivHooks::CultureHelpers_SendArtSwapNotification>(host, &BeforeCultureHelpers_SendArtSwapNotification);CivRegisterAfter<CivHooks::CultureHelpers_SendArtSwapNotification>(host, &AfterCultureHelpers_SendArtSwapNotification);CivRegisterReplace<CivHooks::CultureHelpers_SendArtSwapNotification>(host, &ReplaceCultureHelpers_SendArtSwapNotification);
Code
5845void CultureHelpers::SendArtSwapNotification(GreatWorkSlotType eType, bool bArt, PlayerTypes eOriginator, PlayerTypes eReceipient, int iWorkFromOriginator, int iWorkFromRecipient)5846{5847 CvGameCulture *pkGameCulture = GC.getGame().GetGameCulture();5848 CvPlayer &kOriginator = GET_PLAYER(eOriginator);58495850 CvString strBuffer;5851 CvString strSummary = GetLocalizedText("TXT_KEY_NOTIFICATION_SUMMARY_GREAT_WORK_SWAP");5852 if (eType == CvTypes::getGREAT_WORK_SLOT_ART_ARTIFACT())5853 {5854 if (bArt)5855 {5856 strBuffer = GetLocalizedText("TXT_KEY_NOTIFICATION_GREAT_WORK_ART_SWAP", kOriginator.getLeaderInfo().GetDescription(),5857 pkGameCulture->GetGreatWorkName(iWorkFromRecipient), pkGameCulture->GetGreatWorkName(iWorkFromOriginator));5858 }5859 else5860 {5861 strBuffer = GetLocalizedText("TXT_KEY_NOTIFICATION_ARTIFACT_SWAP", kOriginator.getLeaderInfo().GetDescription(),5862 pkGameCulture->GetGreatWorkName(iWorkFromRecipient), pkGameCulture->GetGreatWorkName(iWorkFromOriginator));5863 }5864 }5865 else5866 {5867 strBuffer = GetLocalizedText("TXT_KEY_NOTIFICATION_GREAT_WORK_WRITING_SWAP", kOriginator.getLeaderInfo().GetDescription(),5868 pkGameCulture->GetGreatWorkName(iWorkFromRecipient), pkGameCulture->GetGreatWorkName(iWorkFromOriginator));5869 }5870 GET_PLAYER(eReceipient).GetNotifications()->Add(NOTIFICATION_GREAT_WORK_COMPLETED_ACTIVE_PLAYER, strBuffer, strSummary, -1, -1, iWorkFromOriginator, kOriginator.GetID());5871}