CvMilitaryAI::GetSneakAttackOperation(PlayerTypes)
- Defined in
- CvMilitaryAI.cpp, line 753
- Class
- CvMilitaryAI
- Hook name
CivHooks::CvMilitaryAI_GetSneakAttackOperation
Hooks
static bool BeforeCvMilitaryAI_GetSneakAttackOperation(CvMilitaryAI* self, PlayerTypes eEnemy, CvAIOperation*& result);static void AfterCvMilitaryAI_GetSneakAttackOperation(CvMilitaryAI* self, PlayerTypes eEnemy, CvAIOperation*& result);static CvAIOperation* ReplaceCvMilitaryAI_GetSneakAttackOperation(CvAIOperation* (*original)(CvMilitaryAI*, PlayerTypes), CvMilitaryAI* self, PlayerTypes eEnemy);CivRegisterBefore<CivHooks::CvMilitaryAI_GetSneakAttackOperation>(host, &BeforeCvMilitaryAI_GetSneakAttackOperation);CivRegisterAfter<CivHooks::CvMilitaryAI_GetSneakAttackOperation>(host, &AfterCvMilitaryAI_GetSneakAttackOperation);CivRegisterReplace<CivHooks::CvMilitaryAI_GetSneakAttackOperation>(host, &ReplaceCvMilitaryAI_GetSneakAttackOperation);
Code
752/// Get a pointer to the sneak attack operation against a target753CvAIOperation* CvMilitaryAI::GetSneakAttackOperation(PlayerTypes eEnemy)754{755 int iOperationID;756 bool bHasOperationUnderway = m_pPlayer->haveAIOperationOfType(AI_OPERATION_SNEAK_CITY_ATTACK, &iOperationID, eEnemy);757758 if(bHasOperationUnderway)759 {760 return m_pPlayer->getAIOperation(iOperationID);761 }762 else763 {764 bool bHasOperationOfType = m_pPlayer->haveAIOperationOfType(AI_OPERATION_NAVAL_SNEAK_ATTACK, &iOperationID, eEnemy);765766 if(bHasOperationOfType)767 {768 return m_pPlayer->getAIOperation(iOperationID);769 }770 }771772 return NULL;773}