Bazaar developer reference

CvHomelandAI::IsValidExplorerEndTurnPlot(const CvUnit *, CvPlot *) const

Defined in
CvHomelandAI.cpp, line 6195
Class
CvHomelandAI
Hook name
CivHooks::CvHomelandAI_IsValidExplorerEndTurnPlot

Hooks

static bool BeforeCvHomelandAI_IsValidExplorerEndTurnPlot(const CvHomelandAI* self, const CvUnit* pUnit, CvPlot* pPlot, bool& result);static void AfterCvHomelandAI_IsValidExplorerEndTurnPlot(const CvHomelandAI* self, const CvUnit* pUnit, CvPlot* pPlot, bool& result);static bool ReplaceCvHomelandAI_IsValidExplorerEndTurnPlot(bool (*original)(const CvHomelandAI*, const CvUnit*, CvPlot*), const CvHomelandAI* self, const CvUnit* pUnit, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvHomelandAI_IsValidExplorerEndTurnPlot>(host, &BeforeCvHomelandAI_IsValidExplorerEndTurnPlot);CivRegisterAfter<CivHooks::CvHomelandAI_IsValidExplorerEndTurnPlot>(host, &AfterCvHomelandAI_IsValidExplorerEndTurnPlot);CivRegisterReplace<CivHooks::CvHomelandAI_IsValidExplorerEndTurnPlot>(host, &ReplaceCvHomelandAI_IsValidExplorerEndTurnPlot);

Code

6195bool CvHomelandAI::IsValidExplorerEndTurnPlot(const CvUnit* pUnit, CvPlot* pPlot) const6196{6197	if(pUnit->atPlot(*pPlot))6198	{6199		return false;6200	}62016202	if(!pPlot->isRevealed(pUnit->getTeam()))6203	{6204		return false;6205	}62066207	DomainTypes eDomain = pUnit->getDomainType();62086209	if(pPlot->area() != pUnit->area())6210	{6211		if(!pUnit->CanEverEmbark())6212		{6213			if(!(eDomain == DOMAIN_SEA && pPlot->isWater()))6214			{6215				return false;6216			}6217		}6218	}62196220	// don't let the auto-explore end it's turn in a city6221	CvCity* pCity = pPlot->getPlotCity();6222	if(pCity && pCity->getOwner() != pUnit->getOwner())6223	{6224		return false;6225	}62266227	if(!pUnit->canMoveInto(*pPlot, CvUnit::MOVEFLAG_PRETEND_CORRECT_EMBARK_STATE))6228	{6229		return false;6230	}62316232	return true;6233}

Calls

Called by