diff --git a/Strategic/Auto Resolve.cpp b/Strategic/Auto Resolve.cpp index 0d13b4bf..2e4da9ed 100644 --- a/Strategic/Auto Resolve.cpp +++ b/Strategic/Auto Resolve.cpp @@ -3116,7 +3116,8 @@ void CalculateAutoResolveInfo() } gfTransferTacticalOppositionToAutoResolve = FALSE; - gpAR->ubCivs = CountAllMilitiaInFiveSectors( gpAR->ubSectorX, gpAR->ubSectorY ); + const UINT16 militia = CountAllMilitiaInFiveSectors( gpAR->ubSectorX, gpAR->ubSectorY ); + gpAR->ubCivs = min(militia, MAXUINT8); gpAR->ubMercs = 0; VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE; pGroup = gpGroupList; diff --git a/Strategic/Reinforcement.cpp b/Strategic/Reinforcement.cpp index 99bf1123..3840769f 100644 --- a/Strategic/Reinforcement.cpp +++ b/Strategic/Reinforcement.cpp @@ -207,9 +207,9 @@ UINT8 GetAdjacentSectors( UINT8 pSectors[4], INT16 sSectorX, INT16 sSectorY ) return ubCounter; } -UINT8 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY) +UINT16 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY) { - UINT8 ubResult = 0; + UINT16 ubResult = 0; UINT16 pusMoveDir[4][3]; UINT8 ubDirNumber, ubIndex; diff --git a/Strategic/Reinforcement.h b/Strategic/Reinforcement.h index 87f3e645..543ff041 100644 --- a/Strategic/Reinforcement.h +++ b/Strategic/Reinforcement.h @@ -6,7 +6,7 @@ void GetNumberOfEnemiesInFiveSectors( INT16 sSectorX, INT16 sSectorY, UINT8 *pub void ActivateTurncoatsForAutoResolve( INT16 sSectorX, INT16 sSectorY ); BOOLEAN IsGroupInARightSectorToReinforce( GROUP *pGroup, INT16 sSectorX, INT16 sSectorY ); UINT8 GetAdjacentSectors( UINT8 pSectors[4], INT16 sSectorX, INT16 sSectorY ); -UINT8 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY); +UINT16 CountAllMilitiaInFiveSectors(INT16 sMapX, INT16 sMapY); UINT8 NumEnemiesInFiveSectors( INT16 sMapX, INT16 sMapY ); //For Tactical