CvDangerPlots::ShouldIgnorePlayer(PlayerTypes)
- Defined in
- CvDangerPlots.cpp, line 491
- Class
- CvDangerPlots
- Hook name
CivHooks::CvDangerPlots_ShouldIgnorePlayer
Hooks
static bool BeforeCvDangerPlots_ShouldIgnorePlayer(CvDangerPlots* self, PlayerTypes ePlayer, bool& result);static void AfterCvDangerPlots_ShouldIgnorePlayer(CvDangerPlots* self, PlayerTypes ePlayer, bool& result);static bool ReplaceCvDangerPlots_ShouldIgnorePlayer(bool (*original)(CvDangerPlots*, PlayerTypes), CvDangerPlots* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvDangerPlots_ShouldIgnorePlayer>(host, &BeforeCvDangerPlots_ShouldIgnorePlayer);CivRegisterAfter<CivHooks::CvDangerPlots_ShouldIgnorePlayer>(host, &AfterCvDangerPlots_ShouldIgnorePlayer);CivRegisterReplace<CivHooks::CvDangerPlots_ShouldIgnorePlayer>(host, &ReplaceCvDangerPlots_ShouldIgnorePlayer);
Code
490/// Should this player be ignored when creating the danger plots?491bool CvDangerPlots::ShouldIgnorePlayer(PlayerTypes ePlayer)492{493 if(GET_PLAYER(m_ePlayer).isMinorCiv() != GET_PLAYER(ePlayer).isMinorCiv() && !GET_PLAYER(ePlayer).isBarbarian() && !GET_PLAYER(m_ePlayer).isBarbarian())494 {495 CvPlayer* pMinor = NULL;496 CvPlayer* pMajor;497498 if(GET_PLAYER(m_ePlayer).isMinorCiv())499 {500 pMinor = &GET_PLAYER(m_ePlayer);501 pMajor = &GET_PLAYER(ePlayer);502 }503 else504 {505 pMinor = &GET_PLAYER(ePlayer);506 pMajor = &GET_PLAYER(m_ePlayer);507 }508509 if(pMinor->GetMinorCivAI()->IsFriends(pMajor->GetID()))510 {511 return true;512 }513514 // if we're a major, we should ignore minors that are not at war with us515 if (!GET_PLAYER(m_ePlayer).isMinorCiv())516 {517 TeamTypes eMajorTeam = pMajor->getTeam();518 TeamTypes eMinorTeam = pMinor->getTeam();519 if (!GET_TEAM(eMajorTeam).isAtWar(eMinorTeam))520 {521 return true;522 }523 }524 }525526 return false;527}