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
- CvCity::getX() const
- CvCity::getY() const
- CvGlobals::getMINOR_CIV_THREATENED_BY_BARBS_NOTIF_THRESHOLD()
- CvMinorCivAI::AddNotification(CvString, CvString, PlayerTypes, int, int)
- CvMinorCivAI::GetNumThreateningBarbarians()
- CvMinorCivAI::GetPlayer()
- CvMinorCivAI::IsPlayerCloseEnoughForThreatenedAnnouncement(PlayerTypes)
- CvMinorCivAI::IsThreateningBarbariansEventActiveForPlayer(PlayerTypes)
- CvPlayer::getCapitalCity()
- CvPlayer::getNameKey() const
- CvPlayer::isAlive() const
CvString::CvStringLocalization::LookupLocalization::String::toUTF8operator<<