Bazaar developer reference

MilitaryAIHelpers::IsTestStrategy_EnoughRangedUnits(CvPlayer *, int, int)

Defined in
CvMilitaryAI.cpp, line 4796
Hook name
CivHooks::MilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits

Hooks

static bool BeforeMilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits(CvPlayer* pPlayer, int iNumRanged, int iNumMelee, bool& result);static void AfterMilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits(CvPlayer* pPlayer, int iNumRanged, int iNumMelee, bool& result);static bool ReplaceMilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits(bool (*original)(CvPlayer*, int, int), CvPlayer* pPlayer, int iNumRanged, int iNumMelee);CivRegisterBefore<CivHooks::MilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits>(host, &BeforeMilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits);CivRegisterAfter<CivHooks::MilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits>(host, &AfterMilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits);CivRegisterReplace<CivHooks::MilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits>(host, &ReplaceMilitaryAIHelpers_IsTestStrategy_EnoughRangedUnits);

Code

4795/// "Enough Ranged" Player Strategy: If a player has too many ranged units4796bool MilitaryAIHelpers::IsTestStrategy_EnoughRangedUnits(CvPlayer* pPlayer, int iNumRanged, int iNumMelee)4797{4798	int iFlavorRange = pPlayer->GetGrandStrategyAI()->GetPersonalityAndGrandStrategy((FlavorTypes)GC.getInfoTypeForString("FLAVOR_RANGED"));4799	int iRatio = iNumRanged * 10 / max(1,iNumMelee+iNumRanged);4800	return (iRatio >= iFlavorRange);4801}

Calls

Called by