Bazaar developer reference

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}

Calls

Called by