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
- CvCity::getOwner() const
- CvPlot::area() const
- CvPlot::getPlotCity() const
- CvPlot::isRevealed(TeamTypes) const
- CvPlot::isWater() const
- CvUnit::area() const
- CvUnit::atPlot(const CvPlot &) const
- CvUnit::CanEverEmbark() const
- CvUnit::canMoveInto(const CvPlot &, byte) const
- CvUnit::getDomainType() const
- CvUnit::getOwner() const
- CvUnit::getTeam() const