CvArmyAI::GetMovementRate()
- Defined in
- CvArmyAI.cpp, line 194
- Class
- CvArmyAI
- Hook name
CivHooks::CvArmyAI_GetMovementRate
Hooks
static bool BeforeCvArmyAI_GetMovementRate(CvArmyAI* self, int& result);static void AfterCvArmyAI_GetMovementRate(CvArmyAI* self, int& result);static int ReplaceCvArmyAI_GetMovementRate(int (*original)(CvArmyAI*), CvArmyAI* self);CivRegisterBefore<CivHooks::CvArmyAI_GetMovementRate>(host, &BeforeCvArmyAI_GetMovementRate);CivRegisterAfter<CivHooks::CvArmyAI_GetMovementRate>(host, &AfterCvArmyAI_GetMovementRate);CivRegisterReplace<CivHooks::CvArmyAI_GetMovementRate>(host, &ReplaceCvArmyAI_GetMovementRate);
Code
193/// Find average speed of units in army194int CvArmyAI::GetMovementRate()195{196 int iMovementAverage = 2; // A reasonable default197 int iNumUnits = 0;198 int iTotalMovementAllowance = 0;199 UnitHandle pUnit;200201 pUnit = GetFirstUnit();202 while(pUnit)203 {204 iNumUnits++;205 iTotalMovementAllowance += pUnit->baseMoves();206 pUnit = GetNextUnit();207 }208209 if(iNumUnits > 0)210 {211 iMovementAverage = (iTotalMovementAllowance + (iNumUnits / 2)) / iNumUnits;212 }213214 return iMovementAverage;215}
Calls
- CvArmyAI::GetFirstUnit()
- CvArmyAI::GetNextUnit()
- CvUnit::baseMoves(DomainTypes) const
FObjectHandle::FObjectHandleFObjectHandle::operator boolFObjectHandle::operator->FObjectHandle::operator=