CvCity::canRangeStrike() const
- Defined in
- CvCity.cpp, line 15977
- Class
- CvCity
- Hook name
CivHooks::CvCity_canRangeStrike
Hooks
static bool BeforeCvCity_canRangeStrike(const CvCity* self, bool& result);static void AfterCvCity_canRangeStrike(const CvCity* self, bool& result);static bool ReplaceCvCity_canRangeStrike(bool (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_canRangeStrike>(host, &BeforeCvCity_canRangeStrike);CivRegisterAfter<CivHooks::CvCity_canRangeStrike>(host, &AfterCvCity_canRangeStrike);CivRegisterReplace<CivHooks::CvCity_canRangeStrike>(host, &ReplaceCvCity_canRangeStrike);
Code
15977bool CvCity::canRangeStrike() const15978{15979 VALIDATE_OBJECT1598015981 // Can't shoot more than once per turn15982 if(isMadeAttack())15983 return false;1598415985 // Can't shoot when in resistance15986 if(IsResistance() || IsRazing())15987 return false;1598815989 // Can't shoot if we have no HP left (shouldn't really ever happen)15990 if(getDamage() == GetMaxHitPoints())15991 return false;1599215993 // Apparently it's possible for someone to fire during another player's turn15994 if(!GET_PLAYER(getOwner()).isTurnActive())15995 return false;1599615997 return true;15998}