Bazaar developer reference

CvMinorCivAI::DoTestThreatenedAnnouncementForPlayer(PlayerTypes)

Defined in
CvMinorCivAI.cpp, line 3303
Class
CvMinorCivAI
Hook name
CivHooks::CvMinorCivAI_DoTestThreatenedAnnouncementForPlayer

Hooks

static bool BeforeCvMinorCivAI_DoTestThreatenedAnnouncementForPlayer(CvMinorCivAI* self, PlayerTypes ePlayer);static void AfterCvMinorCivAI_DoTestThreatenedAnnouncementForPlayer(CvMinorCivAI* self, PlayerTypes ePlayer);static void ReplaceCvMinorCivAI_DoTestThreatenedAnnouncementForPlayer(void (*original)(CvMinorCivAI*, PlayerTypes), CvMinorCivAI* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvMinorCivAI_DoTestThreatenedAnnouncementForPlayer>(host, &BeforeCvMinorCivAI_DoTestThreatenedAnnouncementForPlayer);CivRegisterAfter<CivHooks::CvMinorCivAI_DoTestThreatenedAnnouncementForPlayer>(host, &AfterCvMinorCivAI_DoTestThreatenedAnnouncementForPlayer);CivRegisterReplace<CivHooks::CvMinorCivAI_DoTestThreatenedAnnouncementForPlayer>(host, &ReplaceCvMinorCivAI_DoTestThreatenedAnnouncementForPlayer);

Code

3302/// Barbarians are invading...ask ePlayer for help!3303void CvMinorCivAI::DoTestThreatenedAnnouncementForPlayer(PlayerTypes ePlayer)3304{3305	if (GetPlayer()->isAlive())3306	{3307		CvCity* pCapital = GetPlayer()->getCapitalCity();3308		if (pCapital)3309		{3310			int iX = pCapital->getX();3311			int iY = pCapital->getY();3312			if (IsThreateningBarbariansEventActiveForPlayer(ePlayer))3313			{3314				// Is ePlayer is close to us?3315				if (IsPlayerCloseEnoughForThreatenedAnnouncement(ePlayer))3316				{3317					// Are there enough barbs to warrant sending a message about it?3318					if (GetNumThreateningBarbarians() >= GC.getMINOR_CIV_THREATENED_BY_BARBS_NOTIF_THRESHOLD())3319					{3320						Localization::String strMessage = Localization::Lookup("TXT_KEY_NOTIFICATION_MINOR_BARBS_QUEST");3321						strMessage << GetPlayer()->getNameKey();3322						Localization::String strSummary = Localization::Lookup("TXT_KEY_NOTIFICATION_SUMMARY_MINOR_BARBS_QUEST");3323						strSummary << GetPlayer()->getNameKey();3324						AddNotification(strMessage.toUTF8(), strSummary.toUTF8(), ePlayer, iX, iY);3325					}3326				}3327			}3328		}3329	}3330}

Calls

Called by