Bazaar developer reference

CvUnitPromotions::GetUnitClassDefenseMod(UnitClassTypes) const

Defined in
CvPromotionClasses.cpp, line 2326
Class
CvUnitPromotions
Hook name
CivHooks::CvUnitPromotions_GetUnitClassDefenseMod

Hooks

static bool BeforeCvUnitPromotions_GetUnitClassDefenseMod(const CvUnitPromotions* self, UnitClassTypes eUnitClass, int& result);static void AfterCvUnitPromotions_GetUnitClassDefenseMod(const CvUnitPromotions* self, UnitClassTypes eUnitClass, int& result);static int ReplaceCvUnitPromotions_GetUnitClassDefenseMod(int (*original)(const CvUnitPromotions*, UnitClassTypes), const CvUnitPromotions* self, UnitClassTypes eUnitClass);CivRegisterBefore<CivHooks::CvUnitPromotions_GetUnitClassDefenseMod>(host, &BeforeCvUnitPromotions_GetUnitClassDefenseMod);CivRegisterAfter<CivHooks::CvUnitPromotions_GetUnitClassDefenseMod>(host, &AfterCvUnitPromotions_GetUnitClassDefenseMod);CivRegisterReplace<CivHooks::CvUnitPromotions_GetUnitClassDefenseMod>(host, &ReplaceCvUnitPromotions_GetUnitClassDefenseMod);

Code

2325/// returns the advantage percent when defending against the specified unit class2326int CvUnitPromotions::GetUnitClassDefenseMod(UnitClassTypes eUnitClass) const2327{2328	int iSum = 0;2329	for(int iLoop = 0; iLoop < GC.getNumPromotionInfos(); iLoop++)2330	{2331		PromotionTypes ePromotion = (PromotionTypes)iLoop;2332		CvPromotionEntry* promotion = GC.getPromotionInfo(ePromotion);2333		if(promotion && HasPromotion(ePromotion))2334		{2335			iSum += promotion->GetUnitClassDefenseModifier(eUnitClass);2336		}2337	}2338	return iSum;2339}

Calls

Called by