CvUnit::IsCanAttack() const
- Defined in
- CvUnit.cpp, line 23682
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_IsCanAttack
Hooks
static bool BeforeCvUnit_IsCanAttack(const CvUnit* self, bool& result);static void AfterCvUnit_IsCanAttack(const CvUnit* self, bool& result);static bool ReplaceCvUnit_IsCanAttack(bool (*original)(const CvUnit*), const CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_IsCanAttack>(host, &BeforeCvUnit_IsCanAttack);CivRegisterAfter<CivHooks::CvUnit_IsCanAttack>(host, &AfterCvUnit_IsCanAttack);CivRegisterReplace<CivHooks::CvUnit_IsCanAttack>(host, &ReplaceCvUnit_IsCanAttack);
Code
23681/// Can the unit attack either by range or ground attack?23682bool CvUnit::IsCanAttack() const23683{23684 VALIDATE_OBJECT23685 return IsCanAttackWithMove() || IsCanAttackRanged();23686}
Calls
Called by
- UnitPathInitialize(const void *, CvAStar *)
- CvDangerPlots::ShouldIgnoreUnit(CvUnit *, bool)
- CvDiplomacyAI::DoContactMinorCivs()
- CvGame::selectionListIgnoreBuildingDefense()
- CvHomelandAI::FindUnitsForThisMove(AIHomelandMove, bool)
- CvHomelandAI::FindWorkersInSameArea(CvPlot *, BuildTypes)
- CvMilitaryAI::UpdateBaseData()
- CvTacticalAI::FindUnitsForThisMove(TacticalAIMoveTypes, CvPlot *, int, bool)
- CvTacticalAI::FindUnitsWithinStrikingDistance(CvPlot *, int, int, bool, bool, bool, bool, bool, bool)
- CvTacticalAI::PlotBarbarianCivilianEscortMove()
- CvTacticalAI::ScoreGreatGeneralPlot(UnitHandle, CvPlot *, CvArmyAI *)
- CvTacticalAnalysisMap::BuildEnemyUnitList()
- CvUnit::IsUnderEnemyRangedAttack() const
- CvUnit::canMoveInto(const CvPlot &, byte) const
- CvLuaUnit::lIsCanAttack(lua_State *)