CvCity::rangeCombatUnitDefense(const CvUnit *) const
- Defined in
- CvCity.cpp, line 16272
- Class
- CvCity
- Hook name
CivHooks::CvCity_rangeCombatUnitDefense
Hooks
static bool BeforeCvCity_rangeCombatUnitDefense(const CvCity* self, const CvUnit* pDefender, int& result);static void AfterCvCity_rangeCombatUnitDefense(const CvCity* self, const CvUnit* pDefender, int& result);static int ReplaceCvCity_rangeCombatUnitDefense(int (*original)(const CvCity*, const CvUnit*), const CvCity* self, const CvUnit* pDefender);CivRegisterBefore<CivHooks::CvCity_rangeCombatUnitDefense>(host, &BeforeCvCity_rangeCombatUnitDefense);CivRegisterAfter<CivHooks::CvCity_rangeCombatUnitDefense>(host, &AfterCvCity_rangeCombatUnitDefense);CivRegisterReplace<CivHooks::CvCity_rangeCombatUnitDefense>(host, &ReplaceCvCity_rangeCombatUnitDefense);
Code
16272int CvCity::rangeCombatUnitDefense(const CvUnit* pDefender) const16273{16274 int iDefenderStrength = 0;1627516276 // Use Ranged combat value for defender, UNLESS it's a boat16277 if (pDefender->isEmbarked())16278 {16279 iDefenderStrength = pDefender->GetEmbarkedUnitDefense();;16280 }1628116282 else if(!pDefender->isRangedSupportFire() && !pDefender->getDomainType() == DOMAIN_SEA && pDefender->GetMaxRangedCombatStrength(NULL, /*pCity*/ NULL, false, false) > 0)16283 {16284 iDefenderStrength = pDefender->GetMaxRangedCombatStrength(NULL, /*pCity*/ NULL, false, false);1628516286 // Ranged units take less damage from one another16287 iDefenderStrength *= /*125*/ GC.getRANGE_ATTACK_RANGED_DEFENDER_MOD();16288 iDefenderStrength /= 100;16289 }16290 else16291 {16292 iDefenderStrength = pDefender->GetMaxDefenseStrength(pDefender->plot(), NULL, /*bFromRangedAttack*/ true);16293 }1629416295 return iDefenderStrength;16296}
Calls
- CvGlobals::getRANGE_ATTACK_RANGED_DEFENDER_MOD()
- CvUnit::getDomainType() const
- CvUnit::GetEmbarkedUnitDefense() const
- CvUnit::GetMaxDefenseStrength(const CvPlot *, const CvUnit *, bool) const
- CvUnit::GetMaxRangedCombatStrength(const CvUnit *, const CvCity *, bool, bool) const
- CvUnit::isEmbarked() const
- CvUnit::isRangedSupportFire() const
- CvUnit::plot() const