Hooks
static bool BeforeCvPlayer_addAIOperation(CvPlayer* self, int OperationType, PlayerTypes eEnemy, int iArea, CvCity* pTarget, CvCity* pMuster, CvAIOperation*& result);static void AfterCvPlayer_addAIOperation(CvPlayer* self, int OperationType, PlayerTypes eEnemy, int iArea, CvCity* pTarget, CvCity* pMuster, CvAIOperation*& result);static CvAIOperation* ReplaceCvPlayer_addAIOperation(CvAIOperation* (*original)(CvPlayer*, int, PlayerTypes, int, CvCity*, CvCity*), CvPlayer* self, int OperationType, PlayerTypes eEnemy, int iArea, CvCity* pTarget, CvCity* pMuster);CivRegisterBefore<CivHooks::CvPlayer_addAIOperation>(host, &BeforeCvPlayer_addAIOperation);CivRegisterAfter<CivHooks::CvPlayer_addAIOperation>(host, &AfterCvPlayer_addAIOperation);CivRegisterReplace<CivHooks::CvPlayer_addAIOperation>(host, &ReplaceCvPlayer_addAIOperation);
Code
21999CvAIOperation* CvPlayer::addAIOperation(int OperationType, PlayerTypes eEnemy, int iArea, CvCity* pTarget, CvCity* pMuster)22000{22001 CvAIOperation* pNewOperation = CvAIOperation::CreateOperation((AIOperationTypes) OperationType, m_eID);22002 if(pNewOperation)22003 {22004 m_AIOperations.insert(std::make_pair(m_iNextOperationID.get(), pNewOperation));22005 pNewOperation->Init(m_iNextOperationID, m_eID, eEnemy, iArea, pTarget, pMuster);22006 m_iNextOperationID++;22007 }22008 return pNewOperation;22009}