CvPlayerEspionage::CanStageCoup(uint)
- Defined in
- CvEspionageClasses.cpp, line 2046
- Class
- CvPlayerEspionage
- Hook name
CivHooks::CvPlayerEspionage_CanStageCoup- Lua events
GameEvents.EspionageCanStageCoup
Hooks
static bool BeforeCvPlayerEspionage_CanStageCoup(CvPlayerEspionage* self, uint uiSpyIndex, bool& result);static void AfterCvPlayerEspionage_CanStageCoup(CvPlayerEspionage* self, uint uiSpyIndex, bool& result);static bool ReplaceCvPlayerEspionage_CanStageCoup(bool (*original)(CvPlayerEspionage*, uint), CvPlayerEspionage* self, uint uiSpyIndex);CivRegisterBefore<CivHooks::CvPlayerEspionage_CanStageCoup>(host, &BeforeCvPlayerEspionage_CanStageCoup);CivRegisterAfter<CivHooks::CvPlayerEspionage_CanStageCoup>(host, &AfterCvPlayerEspionage_CanStageCoup);CivRegisterReplace<CivHooks::CvPlayerEspionage_CanStageCoup>(host, &ReplaceCvPlayerEspionage_CanStageCoup);
Code
2045/// CanStageCoup - Can a spy currently stage a coup at a city-state?2046bool CvPlayerEspionage::CanStageCoup(uint uiSpyIndex)2047{2048 CvAssertMsg(uiSpyIndex < m_aSpyList.size(), "iSpyIndex is out of bounds");2049 if(uiSpyIndex >= m_aSpyList.size())2050 {2051 return false;2052 }20532054 if(!IsSpyInCity(uiSpyIndex))2055 {2056 return false;2057 }20582059 CvCity* pCity = GetCityWithSpy(uiSpyIndex);2060 CvAssertMsg(pCity, "pCity is null!");2061 if(!pCity)2062 {2063 return false;2064 }20652066 if(!HasEstablishedSurveillance(uiSpyIndex))2067 {2068 return false;2069 }20702071 PlayerTypes eCityOwner = pCity->getOwner();2072 if(!GET_PLAYER(eCityOwner).isMinorCiv())2073 {2074 return false;2075 }20762077 CvMinorCivAI* pMinorCivAI = GET_PLAYER(eCityOwner).GetMinorCivAI();2078 PlayerTypes eMinorCivAlly = pMinorCivAI->GetAlly();20792080 if(eMinorCivAlly != NO_PLAYER && eMinorCivAlly != m_pPlayer->GetID())2081 {2082 return true;2083 }20842085#if defined(MOD_EVENTS_ESPIONAGE)2086 if (MOD_EVENTS_ESPIONAGE) {2087 if (GAMEEVENTINVOKE_TESTALL(GAMEEVENT_EspionageCanStageCoup, m_pPlayer->GetID(), eCityOwner, pCity->GetID()) == GAMEEVENTRETURN_FALSE) {2088 return false;2089 }2090 }2091#endif2092 2093 return false;2094}
Calls
BaseVector::size- CustomMods::eventTestAll(const char *, const char *, ...)
- CustomMods::isEVENTS_ESPIONAGE()
- CvCity::GetID() const
- CvCity::getOwner() const
- CvMinorCivAI::GetAlly() const
- CvPlayer::GetID() const
- CvPlayer::GetMinorCivAI() const
- CvPlayer::isMinorCiv() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerEspionage::GetCityWithSpy(uint)
- CvPlayerEspionage::HasEstablishedSurveillance(uint)
- CvPlayerEspionage::IsSpyInCity(uint)