CvMinorCivAI::IsPlayerCloseEnoughForThreatenedAnnouncement(PlayerTypes)
- Defined in
- CvMinorCivAI.cpp, line 3333
- Class
- CvMinorCivAI
- Hook name
CivHooks::CvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement
Hooks
static bool BeforeCvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement(CvMinorCivAI* self, PlayerTypes eMajor, bool& result);static void AfterCvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement(CvMinorCivAI* self, PlayerTypes eMajor, bool& result);static bool ReplaceCvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement(bool (*original)(CvMinorCivAI*, PlayerTypes), CvMinorCivAI* self, PlayerTypes eMajor);CivRegisterBefore<CivHooks::CvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement>(host, &BeforeCvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement);CivRegisterAfter<CivHooks::CvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement>(host, &AfterCvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement);CivRegisterReplace<CivHooks::CvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement>(host, &ReplaceCvMinorCivAI_IsPlayerCloseEnoughForThreatenedAnnouncement);
Code
3332/// Is player close enough for the game to send a notification about the barbarian threat?3333bool CvMinorCivAI::IsPlayerCloseEnoughForThreatenedAnnouncement(PlayerTypes eMajor)3334{3335 CvCity* pCapital = GetPlayer()->getCapitalCity();33363337 // Minor must have Capital3338 if(pCapital == NULL)3339 {3340 return false;3341 }33423343 // Has Minor met this player yet?3344 if(IsHasMetPlayer(eMajor))3345 {3346 bool bCloseEnoughForQuest = false;33473348 CvCity* pMajorsCapital = GET_PLAYER(eMajor).getCapitalCity();33493350 if(pMajorsCapital != NULL)3351 {3352 if(pCapital->getArea() == pMajorsCapital->getArea())3353 {3354 return true;3355 }33563357 if(!bCloseEnoughForQuest)3358 {3359 int iDistance = plotDistance(pCapital->getX(), pCapital->getY(), pMajorsCapital->getX(), pMajorsCapital->getY());33603361 if(iDistance <= /*50*/ GC.getMAX_DISTANCE_MINORS_BARB_QUEST())3362 {3363 return true;3364 }3365 }3366 }3367 }33683369 return false;3370}