Bazaar developer reference

CvUnitPromotions::GetUnitClassAttackMod(UnitClassTypes) const

Defined in
CvPromotionClasses.cpp, line 2310
Class
CvUnitPromotions
Hook name
CivHooks::CvUnitPromotions_GetUnitClassAttackMod

Hooks

static bool BeforeCvUnitPromotions_GetUnitClassAttackMod(const CvUnitPromotions* self, UnitClassTypes eUnitClass, int& result);static void AfterCvUnitPromotions_GetUnitClassAttackMod(const CvUnitPromotions* self, UnitClassTypes eUnitClass, int& result);static int ReplaceCvUnitPromotions_GetUnitClassAttackMod(int (*original)(const CvUnitPromotions*, UnitClassTypes), const CvUnitPromotions* self, UnitClassTypes eUnitClass);CivRegisterBefore<CivHooks::CvUnitPromotions_GetUnitClassAttackMod>(host, &BeforeCvUnitPromotions_GetUnitClassAttackMod);CivRegisterAfter<CivHooks::CvUnitPromotions_GetUnitClassAttackMod>(host, &AfterCvUnitPromotions_GetUnitClassAttackMod);CivRegisterReplace<CivHooks::CvUnitPromotions_GetUnitClassAttackMod>(host, &ReplaceCvUnitPromotions_GetUnitClassAttackMod);

Code

2309/// returns the advantage percent when attacking the specified unit class2310int CvUnitPromotions::GetUnitClassAttackMod(UnitClassTypes eUnitClass) const2311{2312	int iSum = 0;2313	for(int iLoop = 0; iLoop < GC.getNumPromotionInfos(); iLoop++)2314	{2315		PromotionTypes ePromotion = (PromotionTypes)iLoop;2316		CvPromotionEntry* promotion = GC.getPromotionInfo(ePromotion);2317		if(promotion && HasPromotion(ePromotion))2318		{2319			iSum += promotion->GetUnitClassAttackModifier(eUnitClass);2320		}2321	}2322	return iSum;2323}

Calls

Called by