CvTacticalAI::PlotOperationalArmyMoves()
- Defined in
- CvTacticalAI.cpp, line 2679
- Class
- CvTacticalAI
- Hook name
CivHooks::CvTacticalAI_PlotOperationalArmyMoves
Hooks
static bool BeforeCvTacticalAI_PlotOperationalArmyMoves(CvTacticalAI* self);static void AfterCvTacticalAI_PlotOperationalArmyMoves(CvTacticalAI* self);static void ReplaceCvTacticalAI_PlotOperationalArmyMoves(void (*original)(CvTacticalAI*), CvTacticalAI* self);CivRegisterBefore<CivHooks::CvTacticalAI_PlotOperationalArmyMoves>(host, &BeforeCvTacticalAI_PlotOperationalArmyMoves);CivRegisterAfter<CivHooks::CvTacticalAI_PlotOperationalArmyMoves>(host, &AfterCvTacticalAI_PlotOperationalArmyMoves);CivRegisterReplace<CivHooks::CvTacticalAI_PlotOperationalArmyMoves>(host, &ReplaceCvTacticalAI_PlotOperationalArmyMoves);
Code
2678/// Process units that we recruited out of operational moves. Haven't used them, so let them go ahead with those moves2679void CvTacticalAI::PlotOperationalArmyMoves()2680{2681 list<int>::iterator it;26822683 // Update all operations (moved down - previously was in the PlayerAI object)2684 CvAIOperation* nextOp = NULL;2685 nextOp = m_pPlayer->getFirstAIOperation();2686 while(nextOp != NULL)2687 {2688 if(nextOp->GetLastTurnMoved() < GC.getGame().getGameTurn())2689 {2690 switch(nextOp->GetMoveType())2691 {2692 case AI_OPERATION_MOVETYPE_SINGLE_HEX:2693 PlotSingleHexOperationMoves((CvAIEscortedOperation*)nextOp);2694 break;26952696 case AI_OPERATION_MOVETYPE_ENEMY_TERRITORY:2697 PlotEnemyTerritoryOperationMoves((CvAIEnemyTerritoryOperation*)nextOp);2698 break;26992700 case AI_OPERATION_MOVETYPE_NAVAL_ESCORT:2701 PlotNavalEscortOperationMoves((CvAINavalEscortedOperation*)nextOp);2702 break;27032704 case AI_OPERATION_MOVETYPE_FREEFORM_NAVAL:2705 PlotFreeformNavalOperationMoves((CvAINavalOperation*)nextOp);2706 break;2707 }27082709 nextOp->SetLastTurnMoved(GC.getGame().getGameTurn());2710 nextOp->CheckOnTarget();2711 }271227132714 nextOp = m_pPlayer->getNextAIOperation();2715 }27162717 bool bKilledSomething;2718 do2719 {2720 bKilledSomething = false;2721 nextOp = m_pPlayer->getFirstAIOperation();2722 while(nextOp != NULL)2723 {2724 if(nextOp->DoDelayedDeath())2725 {2726 bKilledSomething = true;2727 break;2728 }2729 nextOp = m_pPlayer->getNextAIOperation();2730 }2731 // hack2732 }2733 while(bKilledSomething);2734}
Calls
- CvAIOperation::CheckOnTarget()
- CvAIOperation::DoDelayedDeath()
- CvAIOperation::GetLastTurnMoved() const
- CvAIOperation::GetMoveType() const
- CvAIOperation::SetLastTurnMoved(int)
- CvGame::getGameTurn()
- CvGlobals::getGame()
- CvPlayer::getFirstAIOperation()
- CvPlayer::getNextAIOperation()
- CvTacticalAI::PlotEnemyTerritoryOperationMoves(CvAIEnemyTerritoryOperation *)
- CvTacticalAI::PlotFreeformNavalOperationMoves(CvAINavalOperation *)
- CvTacticalAI::PlotNavalEscortOperationMoves(CvAINavalEscortedOperation *)
- CvTacticalAI::PlotSingleHexOperationMoves(CvAIEscortedOperation *)
std::list::_Iterator::_Iterator