Bazaar developer reference

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

Called by