CvPlayer::IsCityAlreadyTargeted(CvCity *, DomainTypes, int, int) const
- Defined in
- CvPlayer.cpp, line 22079
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_IsCityAlreadyTargeted
Hooks
static bool BeforeCvPlayer_IsCityAlreadyTargeted(const CvPlayer* self, CvCity* pCity, DomainTypes eDomain, int iPercentToTarget, int iIgnoreOperationID, bool& result);static void AfterCvPlayer_IsCityAlreadyTargeted(const CvPlayer* self, CvCity* pCity, DomainTypes eDomain, int iPercentToTarget, int iIgnoreOperationID, bool& result);static bool ReplaceCvPlayer_IsCityAlreadyTargeted(bool (*original)(const CvPlayer*, CvCity*, DomainTypes, int, int), const CvPlayer* self, CvCity* pCity, DomainTypes eDomain, int iPercentToTarget, int iIgnoreOperationID);CivRegisterBefore<CivHooks::CvPlayer_IsCityAlreadyTargeted>(host, &BeforeCvPlayer_IsCityAlreadyTargeted);CivRegisterAfter<CivHooks::CvPlayer_IsCityAlreadyTargeted>(host, &AfterCvPlayer_IsCityAlreadyTargeted);CivRegisterReplace<CivHooks::CvPlayer_IsCityAlreadyTargeted>(host, &ReplaceCvPlayer_IsCityAlreadyTargeted);
Code
22078/// Is an existing operation already going after this city?22079bool CvPlayer::IsCityAlreadyTargeted(CvCity* pCity, DomainTypes eDomain, int iPercentToTarget, int iIgnoreOperationID) const22080{22081 CvAIOperation* pOperation;22082 std::map<int , CvAIOperation*>::const_iterator iter;2208322084 for(iter = m_AIOperations.begin(); iter != m_AIOperations.end(); ++iter)22085 {22086 pOperation = iter->second;2208722088 if(pOperation)22089 {22090 if(iIgnoreOperationID == -1 || iIgnoreOperationID != pOperation->GetID())22091 {22092 if(pOperation->GetTargetPlot() == pCity->plot() && pOperation->PercentFromMusterPointToTarget() < iPercentToTarget)22093 {22094 // Naval attacks are mixed land/naval operations22095 if((eDomain == NO_DOMAIN || eDomain == DOMAIN_SEA) && pOperation->IsMixedLandNavalOperation())22096 {22097 return true;22098 }2209922100 if((eDomain == NO_DOMAIN || eDomain == DOMAIN_LAND) && !pOperation->IsMixedLandNavalOperation())22101 {22102 return true;22103 }22104 }22105 }22106 }22107 }2210822109 return false;22110}
Calls
- CvAIOperation::GetID() const
- CvAIOperation::GetTargetPlot() const
- CvAIOperation::IsMixedLandNavalOperation() const
- CvAIOperation::PercentFromMusterPointToTarget()
- CvCity::plot() const
std::_Tree::beginstd::_Tree::const_iterator::const_iteratorstd::_Tree::const_iterator::operator!=std::_Tree::const_iterator::operator++std::_Tree::const_iterator::operator->std::_Tree::const_iterator::operator=std::_Tree::end