Bazaar developer reference

CvUnit::shouldLoadOnMove(const CvPlot *) const

Defined in
CvUnit.cpp, line 4333
Class
CvUnit
Hook name
CivHooks::CvUnit_shouldLoadOnMove

Hooks

static bool BeforeCvUnit_shouldLoadOnMove(const CvUnit* self, const CvPlot* pPlot, bool& result);static void AfterCvUnit_shouldLoadOnMove(const CvUnit* self, const CvPlot* pPlot, bool& result);static bool ReplaceCvUnit_shouldLoadOnMove(bool (*original)(const CvUnit*, const CvPlot*), const CvUnit* self, const CvPlot* pPlot);CivRegisterBefore<CivHooks::CvUnit_shouldLoadOnMove>(host, &BeforeCvUnit_shouldLoadOnMove);CivRegisterAfter<CivHooks::CvUnit_shouldLoadOnMove>(host, &AfterCvUnit_shouldLoadOnMove);CivRegisterReplace<CivHooks::CvUnit_shouldLoadOnMove>(host, &ReplaceCvUnit_shouldLoadOnMove);

Code

4333bool CvUnit::shouldLoadOnMove(const CvPlot* pPlot) const4334{4335	VALIDATE_OBJECT4336	if(isCargo())4337	{4338		return false;4339	}43404341	switch(getDomainType())4342	{4343	case DOMAIN_LAND:4344		if(pPlot->isWater())4345		{4346			return true;4347		}4348		break;4349	case DOMAIN_AIR:4350		if(!pPlot->isFriendlyCity(*this, true))4351		{4352			return true;4353		}4354		break;4355	default:4356		break;4357	}43584359	if(isTerrainImpassable(pPlot->getTerrainType()))4360	{4361		bool bCanPass = false;4362		bCanPass = m_Promotions.GetAllowTerrainPassable(pPlot->getTerrainType());43634364		if(!bCanPass)4365		{4366			return true;4367		}4368	}43694370	return false;4371}

Calls

Called by