Bazaar developer reference

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

Defined in
CvMilitaryAI.cpp, line 4804
Hook name
CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedRangedUnits

Hooks

static bool BeforeMilitaryAIHelpers_IsTestStrategy_NeedRangedUnits(CvPlayer* pPlayer, int iNumRanged, int iNumMelee, bool& result);static void AfterMilitaryAIHelpers_IsTestStrategy_NeedRangedUnits(CvPlayer* pPlayer, int iNumRanged, int iNumMelee, bool& result);static bool ReplaceMilitaryAIHelpers_IsTestStrategy_NeedRangedUnits(bool (*original)(CvPlayer*, int, int), CvPlayer* pPlayer, int iNumRanged, int iNumMelee);CivRegisterBefore<CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedRangedUnits>(host, &BeforeMilitaryAIHelpers_IsTestStrategy_NeedRangedUnits);CivRegisterAfter<CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedRangedUnits>(host, &AfterMilitaryAIHelpers_IsTestStrategy_NeedRangedUnits);CivRegisterReplace<CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedRangedUnits>(host, &ReplaceMilitaryAIHelpers_IsTestStrategy_NeedRangedUnits);

Code

4803/// "Need Ranged" Player Strategy: If a player has too many melee units4804bool MilitaryAIHelpers::IsTestStrategy_NeedRangedUnits(CvPlayer* pPlayer, int iNumRanged, int iNumMelee)4805{4806	int iFlavorRange = pPlayer->GetGrandStrategyAI()->GetPersonalityAndGrandStrategy((FlavorTypes)GC.getInfoTypeForString("FLAVOR_RANGED"));4807	int iRatio = iNumRanged * 10 / max(1,iNumMelee+iNumRanged);4808	return (iRatio <= iFlavorRange / 2);4809}

Calls

Called by