Bazaar developer reference

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

Defined in
CvMilitaryAI.cpp, line 4834
Hook name
CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedMobileUnits

Hooks

static bool BeforeMilitaryAIHelpers_IsTestStrategy_NeedMobileUnits(CvPlayer* pPlayer, int iNumMobile, int iNumMelee, bool& result);static void AfterMilitaryAIHelpers_IsTestStrategy_NeedMobileUnits(CvPlayer* pPlayer, int iNumMobile, int iNumMelee, bool& result);static bool ReplaceMilitaryAIHelpers_IsTestStrategy_NeedMobileUnits(bool (*original)(CvPlayer*, int, int), CvPlayer* pPlayer, int iNumMobile, int iNumMelee);CivRegisterBefore<CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedMobileUnits>(host, &BeforeMilitaryAIHelpers_IsTestStrategy_NeedMobileUnits);CivRegisterAfter<CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedMobileUnits>(host, &AfterMilitaryAIHelpers_IsTestStrategy_NeedMobileUnits);CivRegisterReplace<CivHooks::MilitaryAIHelpers_IsTestStrategy_NeedMobileUnits>(host, &ReplaceMilitaryAIHelpers_IsTestStrategy_NeedMobileUnits);

Code

4833/// "Need Mobile" Player Strategy: If a player has too many slow units4834bool MilitaryAIHelpers::IsTestStrategy_NeedMobileUnits(CvPlayer* pPlayer, int iNumMobile, int iNumMelee)4835{4836	int iFlavorMobile = pPlayer->GetGrandStrategyAI()->GetPersonalityAndGrandStrategy((FlavorTypes)GC.getInfoTypeForString("FLAVOR_MOBILE"));4837	int iRatio = iNumMobile * 10 / max(1,iNumMelee+iNumMobile);4838	return (iRatio <= iFlavorMobile / 2);4839}

Calls

Called by