Bazaar developer reference

CvCity::rangedStrikeTarget(CvPlot *)

Defined in
CvCity.cpp, line 16248
Class
CvCity
Hook name
CivHooks::CvCity_rangedStrikeTarget

Hooks

static bool BeforeCvCity_rangedStrikeTarget(CvCity* self, CvPlot* pPlot, CvUnit*& result);static void AfterCvCity_rangedStrikeTarget(CvCity* self, CvPlot* pPlot, CvUnit*& result);static CvUnit* ReplaceCvCity_rangedStrikeTarget(CvUnit* (*original)(CvCity*, CvPlot*), CvCity* self, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvCity_rangedStrikeTarget>(host, &BeforeCvCity_rangedStrikeTarget);CivRegisterAfter<CivHooks::CvCity_rangedStrikeTarget>(host, &AfterCvCity_rangedStrikeTarget);CivRegisterReplace<CivHooks::CvCity_rangedStrikeTarget>(host, &ReplaceCvCity_rangedStrikeTarget);

Code

16248CvUnit* CvCity::rangedStrikeTarget(CvPlot* pPlot)16249{16250	VALIDATE_OBJECT16251	UnitHandle pDefender = pPlot->getBestDefender(NO_PLAYER, getOwner(), NULL, true, false, false, /*bNoncombatAllowed*/ true);1625216253	if(pDefender)16254	{16255		if(!pDefender->IsDead())16256		{16257#if defined(MOD_GLOBAL_SUBS_UNDER_ICE_IMMUNITY)16258			// If the defender is a sub and the plot is ice, return NULL16259			if (pDefender.pointer()->getInvisibleType() == 0 && pPlot->getFeatureType() == FEATURE_ICE) {16260				return NULL;16261			}16262#endif1626316264			return pDefender.pointer();16265		}16266	}1626716268	return NULL;16269}

Calls

Called by