Bazaar developer reference

CvPlot::isValidDomainForAction(const CvUnit &) const

Defined in
CvPlot.cpp, line 4523
Class
CvPlot
Hook name
CivHooks::CvPlot_isValidDomainForAction

Hooks

static bool BeforeCvPlot_isValidDomainForAction(const CvPlot* self, const CvUnit& unit, bool& result);static void AfterCvPlot_isValidDomainForAction(const CvPlot* self, const CvUnit& unit, bool& result);static bool ReplaceCvPlot_isValidDomainForAction(bool (*original)(const CvPlot*, const CvUnit&), const CvPlot* self, const CvUnit& unit);CivRegisterBefore<CivHooks::CvPlot_isValidDomainForAction>(host, &BeforeCvPlot_isValidDomainForAction);CivRegisterAfter<CivHooks::CvPlot_isValidDomainForAction>(host, &AfterCvPlot_isValidDomainForAction);CivRegisterReplace<CivHooks::CvPlot_isValidDomainForAction>(host, &ReplaceCvPlot_isValidDomainForAction);

Code

4523bool CvPlot::isValidDomainForAction(const CvUnit& unit) const4524{4525	switch(unit.getDomainType())4526	{4527	case DOMAIN_SEA:4528		return (isWater() || unit.canMoveAllTerrain());4529		break;45304531	case DOMAIN_AIR:4532		return false;4533		break;45344535	case DOMAIN_LAND:4536	case DOMAIN_IMMOBILE:4537#if defined(MOD_BUGFIX_HOVERING_PATHFINDER)4538		// Only hover over shallow water or ice4539		{ bool bOK = (!isWater() || (unit.IsHoveringUnit() && isShallowWater()) || unit.canMoveAllTerrain() || unit.isEmbarked() || IsAllowsWalkWater());4540#if defined(MOD_PROMOTIONS_CROSS_ICE)4541		bOK = bOK || (unit.IsHoveringUnit() && isIce());4542#endif4543		return bOK; }4544#else4545		return (!isWater() || unit.IsHoveringUnit() || unit.canMoveAllTerrain() || unit.isEmbarked() || IsAllowsWalkWater());4546#endif4547		break;45484549	default:4550		CvAssert(false);4551		break;4552	}45534554	return false;4555}

Calls

Called by