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
- CvPlot::isValidDomainForLocation(const CvUnit &) const
- CvUnit::IsCanDefend(const CvPlot *) const
- CvUnit::canBuild(const CvPlot *, BuildTypes, bool, bool) const
- CvUnit::canEverRangeStrikeAt(int, int, const CvPlot *) const
- CvUnit::canPillage(const CvPlot *) const
- CvUnitMovement::CostsOnlyOne(const CvUnit *, const CvPlot *, const CvPlot *)
- CvLuaPlot::lIsValidDomainForAction(lua_State *)