CvUnit::GetRange() const
- Defined in
- CvUnit.cpp, line 11681
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_GetRange
Hooks
static bool BeforeCvUnit_GetRange(const CvUnit* self, int& result);static void AfterCvUnit_GetRange(const CvUnit* self, int& result);static int ReplaceCvUnit_GetRange(int (*original)(const CvUnit*), const CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_GetRange>(host, &BeforeCvUnit_GetRange);CivRegisterAfter<CivHooks::CvUnit_GetRange>(host, &AfterCvUnit_GetRange);CivRegisterReplace<CivHooks::CvUnit_GetRange>(host, &ReplaceCvUnit_GetRange);
Code
11681int CvUnit::GetRange() const11682{11683 VALIDATE_OBJECT1168411685#if defined(MOD_UNITS_HOVERING_COASTAL_ATTACKS)11686 // Hovering units over coast/ice become ranged units11687 if (MOD_UNITS_HOVERING_COASTAL_ATTACKS && m_pUnitInfo->GetRangedCombat() == 0 && IsHoveringUnit() && (plot()->isShallowWater() || plot()->getFeatureType() == FEATURE_ICE)) {11688 int iRange = std::max(1, gCustomMods.getOption("UNITS_HOVERING_COASTAL_ATTACKS_RANGE", 1));11689 return (iRange + m_iExtraRange);11690 }11691#endif1169211693 return (m_pUnitInfo->GetRange() + m_iExtraRange);11694}
Calls
- CustomMods::getOption(const char *, int)
- CustomMods::isUNITS_HOVERING_COASTAL_ATTACKS()
- CvPlot::getFeatureType() const
- CvPlot::isShallowWater() const
- CvUnit::IsHoveringUnit() const
- CvUnit::plot() const
- CvUnitEntry::GetRange() const
- CvUnitEntry::GetRangedCombat() const
FAutoVariable::operator const int &std::max
Called by
31 functions in 8 files
- CvAIOperationNukeAttack::FindBestTarget()
- CvDangerPlots::AssignUnitDangerValue(CvUnit *, CvPlot *)
- CvDangerPlots::UpdateDanger(bool, bool)
- CvHomelandAI::ExecuteAircraftInterceptions()
- CvMilitaryAI::GetBestAirSweepTarget(CvUnit *) const
- CvMilitaryAI::GetNumEnemyAirUnitsInRange(CvPlot *, int, bool, bool) const
- CvMilitaryAI::WillAirUnitRebase(CvUnit *) const
- CvTacticalAI::ComputeTotalExpectedDamage(CvTacticalTarget *, CvPlot *)
- CvTacticalAI::ExecuteAttack(CvTacticalTarget *, CvPlot *, bool, bool)
- CvTacticalAI::ExecuteCloseOnTarget(CvTacticalTarget &, CvTacticalDominanceZone *)
- CvTacticalAI::FindClosestUnit(CvPlot *, int, bool, bool, int, bool, bool, bool, CvPlot *)
- CvTacticalAI::FindUnitsWithinStrikingDistance(CvPlot *, int, int, bool, bool, bool, bool, bool, bool)
- CvTacticalAI::IdentifyPriorityBarbarianTargets()
- CvTacticalAI::IdentifyPriorityTargets()
- CvTacticalAI::MoveToEmptySpaceNearTarget(UnitHandle, CvPlot *, bool)
- CvTacticalAI::PlotAirInterceptMoves()
- CvTacticalAnalysisMap::AddToDominanceZones(int, CvTacticalAnalysisCell *)
- CvTacticalAnalysisMap::CalculateMilitaryStrengths()
- CvUnit::EnemyScoreAtRange(const CvPlot *, bool) const
- CvUnit::GetMovablePlotListOpt(vector<CvPlot *> &, CvPlot *, bool, bool)
- CvUnit::GetRangePlusMoveToshot() const
- CvUnit::IsCanAttackRanged() const
- CvUnit::IsUnderEnemyRangedAttack() const
- CvUnit::canAirSweep() const
- CvUnit::canAirSweepAt(int, int) const
- CvUnit::canEverRangeStrikeAt(int, int, const CvPlot *) const
- CvUnit::canNukeAt(const CvPlot *, int, int) const
- CvUnit::canRangeStrike() const
- CvUnit::canRebaseAt(const CvPlot *, int, int) const
- CvUnit::isBlitz() const
- CvLuaUnit::lRange(lua_State *)