Bazaar developer reference

CvHomelandAI::ExecuteWorkerSeaMoves(CvHomelandTarget, CvPlot *)

Defined in
CvHomelandAI.cpp, line 2942
Class
CvHomelandAI
Hook name
CivHooks::CvHomelandAI_ExecuteWorkerSeaMoves

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}

Calls