From 3919a648d065326ef3ffb20a8f6a22d00abc74ac Mon Sep 17 00:00:00 2001 From: Shadooow Date: Sat, 19 Mar 2022 21:51:42 +0000 Subject: [PATCH] Fix for PercentEliteBonus from DifficultySettings.xml not applying onto enemy armies with both admins and regular troops correctly. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9333 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/Strategic AI.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Strategic/Strategic AI.cpp b/Strategic/Strategic AI.cpp index 5ae88375..01b2f7f4 100644 --- a/Strategic/Strategic AI.cpp +++ b/Strategic/Strategic AI.cpp @@ -1242,9 +1242,17 @@ void InitStrategicAI() { if ( i != OMERTA_WELCOME_WAGON ) { - gArmyComp[ i ].bElitePercentage = min(100,gArmyComp[ i ].bElitePercentage + iPercentElitesBonus); - gArmyComp[ i ].bTroopPercentage = max(0,gArmyComp[ i ].bTroopPercentage - iPercentElitesBonus); - gArmyComp[ i ].bAdminPercentage = max(0,gArmyComp[ i ].bAdminPercentage - iPercentElitesBonus); + gArmyComp[i].bElitePercentage = min(100, gArmyComp[i].bElitePercentage + iPercentElitesBonus); + if (gArmyComp[i].bTroopPercentage >= iPercentElitesBonus) + { + gArmyComp[i].bTroopPercentage = gArmyComp[i].bTroopPercentage - iPercentElitesBonus; + } + else + { + INT8 diff = iPercentElitesBonus - gArmyComp[i].bTroopPercentage; + gArmyComp[i].bTroopPercentage = 0; + gArmyComp[i].bAdminPercentage = max(0, gArmyComp[i].bAdminPercentage - diff); + } } } }