Hooks
static bool BeforeCvHomelandAI_ExecuteWorkerSeaMoves(CvHomelandAI* self, CvHomelandTarget target, CvPlot* pTarget, bool& result);static void AfterCvHomelandAI_ExecuteWorkerSeaMoves(CvHomelandAI* self, CvHomelandTarget target, CvPlot* pTarget, bool& result);static bool ReplaceCvHomelandAI_ExecuteWorkerSeaMoves(bool (*original)(CvHomelandAI*, CvHomelandTarget, CvPlot*), CvHomelandAI* self, CvHomelandTarget target, CvPlot* pTarget);CivRegisterBefore<CivHooks::CvHomelandAI_ExecuteWorkerSeaMoves>(host, &BeforeCvHomelandAI_ExecuteWorkerSeaMoves);CivRegisterAfter<CivHooks::CvHomelandAI_ExecuteWorkerSeaMoves>(host, &AfterCvHomelandAI_ExecuteWorkerSeaMoves);CivRegisterReplace<CivHooks::CvHomelandAI_ExecuteWorkerSeaMoves>(host, &ReplaceCvHomelandAI_ExecuteWorkerSeaMoves);
Code
2941/// Send work boats to deploy on naval resources (return true if improvement built)2942bool CvHomelandAI::ExecuteWorkerSeaMoves(CvHomelandTarget target, CvPlot* pTarget)2943{2944 bool bRtnValue = false;29452946 // Move first one to target2947 UnitHandle pUnit = m_pPlayer->getUnit(m_CurrentMoveUnits.begin()->GetID());2948 if(pUnit)2949 {2950 if(pUnit->UnitPathTo(pTarget->getX(), pTarget->getY(), 0) > 0)2951 {2952 pUnit->PushMission(CvTypes::getMISSION_MOVE_TO(), pTarget->getX(), pTarget->getY());2953 if(pUnit->plot() == pTarget)2954 {2955 pUnit->PushMission(CvTypes::getMISSION_BUILD(), (int)target.GetAuxIntData(), -1, 0, (pUnit->GetLengthMissionQueue() > 0), false, MISSIONAI_BUILD, pTarget);2956 bRtnValue = true;2957 }2958 else2959 {2960 pUnit->finishMoves();2961 }29622963 // Delete this unit from those we have to move2964 UnitProcessed(m_CurrentMoveUnits.begin()->GetID());2965 }2966 }2967 return bRtnValue;2968}