CvEspionageAI::AttemptCoups()
- Defined in
- CvEspionageClasses.cpp, line 5116
- Class
- CvEspionageAI
- Hook name
CivHooks::CvEspionageAI_AttemptCoups
Hooks
static bool BeforeCvEspionageAI_AttemptCoups(CvEspionageAI* self);static void AfterCvEspionageAI_AttemptCoups(CvEspionageAI* self);static void ReplaceCvEspionageAI_AttemptCoups(void (*original)(CvEspionageAI*), CvEspionageAI* self);CivRegisterBefore<CivHooks::CvEspionageAI_AttemptCoups>(host, &BeforeCvEspionageAI_AttemptCoups);CivRegisterAfter<CivHooks::CvEspionageAI_AttemptCoups>(host, &AfterCvEspionageAI_AttemptCoups);CivRegisterReplace<CivHooks::CvEspionageAI_AttemptCoups>(host, &ReplaceCvEspionageAI_AttemptCoups);
Code
5116void CvEspionageAI::AttemptCoups()5117{5118 CvPlayerEspionage* pEspionage = m_pPlayer->GetEspionage();5119 for(uint uiSpy = 0; uiSpy < pEspionage->m_aSpyList.size(); uiSpy++)5120 {5121 if (!pEspionage->CanStageCoup(uiSpy))5122 {5123 continue;5124 }5125 5126 // special Lena fix: no couping on CS that are allies with your friend5127 CvCity* pCity = pEspionage->GetCityWithSpy(uiSpy);5128 if (pCity && GET_PLAYER(pCity->getOwner()).isMinorCiv())5129 {5130 CvMinorCivAI* pMinorCivAI = GET_PLAYER(pCity->getOwner()).GetMinorCivAI();5131 if (pMinorCivAI)5132 {5133 PlayerTypes eCurrentAlly = pMinorCivAI->GetAlly();5134 if (eCurrentAlly != NO_PLAYER && eCurrentAlly != m_pPlayer->GetID() && m_pPlayer->GetDiplomacyAI()->IsDoFAccepted(eCurrentAlly))5135 {5136 continue;5137 }5138 }5139 }51405141 int iChanceOfSuccess = pEspionage->GetCoupChanceOfSuccess(uiSpy);5142 int iRoll = GC.getGame().getJonRandNum(100, "Random roll to see if we should attempt a coup");5143 if (iRoll < iChanceOfSuccess)5144 {5145 pEspionage->AttemptCoup(uiSpy);5146 }5147 }5148}
Calls
BaseVector::size- CvCity::getOwner() const
- CvDiplomacyAI::IsDoFAccepted(PlayerTypes) const
- CvGame::getJonRandNum(int, const char *)
- CvGlobals::getGame()
- CvMinorCivAI::GetAlly() const
- CvPlayer::GetDiplomacyAI() const
- CvPlayer::GetEspionage() const
- CvPlayer::GetID() const
- CvPlayer::GetMinorCivAI() const
- CvPlayer::isMinorCiv() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerEspionage::AttemptCoup(uint)
- CvPlayerEspionage::CanStageCoup(uint)
- CvPlayerEspionage::GetCityWithSpy(uint)
- CvPlayerEspionage::GetCoupChanceOfSuccess(uint)