@@ -221,7 +221,7 @@ function DecisionDay:StartActivity(isNewGame)
221221
222222 self .aiData = {};
223223 self .aiData .externalSpawnTimer = Timer (120000 / self .difficultyRatio );
224- self .aiData .internalReinforcementsTimer = Timer (90000 / self .difficultyRatio );
224+ self .aiData .internalReinforcementsTimer = Timer (100000 / self .difficultyRatio );
225225 self .aiData .internalReinforcementLimit = 12 * self .difficultyRatio ;
226226 self .aiData .numberOfInternalReinforcementsCreated = 0 ;
227227 self .aiData .internalReinforcementPositionsCalculationCoroutines = {};
@@ -1404,18 +1404,14 @@ function DecisionDay:UpdateAIDecisions()
14041404 for _ , internalReinforcementPosition in pairs (self .internalReinforcementsData [bunkerRegionData .bunkerId ].positions ) do
14051405 if box :IsWithinBox (internalReinforcementPosition ) then
14061406 internalReinforcementPositionsToEnemyTargets [internalReinforcementPosition ] = {};
1407- table.insert (internalReinforcementPositionsToEnemyTargets [internalReinforcementPosition ], captureAreaCenter );
1408- if self .difficultyRatio > 0.5 then
1409- table.insert (internalReinforcementPositionsToEnemyTargets [internalReinforcementPosition ], captureAreaCenter );
1410- end
1411- if self .difficultyRatio >= (1 + RangeRand (- 0.25 , 0.25 )) then
1407+ for i = 1 , 5 do
14121408 table.insert (internalReinforcementPositionsToEnemyTargets [internalReinforcementPosition ], captureAreaCenter );
14131409 end
14141410 break ;
14151411 end
14161412 end
14171413 end
1418- self :CreateInternalReinforcements (" CQB" , internalReinforcementPositionsToEnemyTargets );
1414+ self :CreateInternalReinforcements (math.random () < self . difficultyRatio * 0.75 and " CQB" or " Light " , internalReinforcementPositionsToEnemyTargets , nil , 450 * self . difficultyRatio );
14191415 end
14201416
14211417 bunkerRegionData .aiRegionDefenseTimer :Reset ();
@@ -2100,7 +2096,7 @@ function DecisionDay:CreateInternalReinforcements(loadout, internalReinforcement
21002096
21012097 print (" Internal reinforcement position " .. tostring (internalReinforcementPosition ).. " has " .. tostring (# enemyTargetsForPosition ).. " enemy targets!" )
21022098
2103- local numberOfInternalReinforcementsToCreateAtPosition = math.min (# enemyTargetsForPosition , 3 );
2099+ local numberOfInternalReinforcementsToCreateAtPosition = math.min (# enemyTargetsForPosition , 5 );
21042100 if numberOfInternalReinforcementsToCreateAtPosition == 1 and math.random () < (self .difficultyRatio * 0.5 ) then
21052101 numberOfInternalReinforcementsToCreateAtPosition = 2 ;
21062102 if math.random () < (self .difficultyRatio * 0.1 ) then
@@ -2118,14 +2114,13 @@ function DecisionDay:CreateInternalReinforcements(loadout, internalReinforcement
21182114 else
21192115 internalReinforcement = self :CreateInfantry (self .aiTeam );
21202116 end
2121- print (" Creating internal reinforcement " .. internalReinforcement .PresetName .. " who costs " .. tostring (internalReinforcement :GetTotalValue (self .aiTeamTech , 1 )))
21222117 internalReinforcement .Team = self .aiTeam ;
21232118 internalReinforcement .Pos = internalReinforcementPosition ;
2124- if numberOfInternalReinforcementsToCreateAtPosition == 2 then
2125- internalReinforcement .Pos .X = internalReinforcement .Pos .X + (i == 1 and - 10 or 10 );
2126- elseif numberOfInternalReinforcementsToCreateAtPosition == 3 then
2127- internalReinforcement .Pos .X = internalReinforcement .Pos .X - 30 + (i * 15 );
2119+ if numberOfInternalReinforcementsToCreateAtPosition > 1 then
2120+ local leftmostSpawnOffset = 20 ;
2121+ internalReinforcement .Pos .X = internalReinforcement .Pos .X - leftmostSpawnOffset + ((i - 1 ) * ((leftmostSpawnOffset * 2 ) / (numberOfInternalReinforcementsToCreateAtPosition - 1 )));
21282122 end
2123+ print (" Creating internal reinforcement " .. internalReinforcement .PresetName .. " who costs " .. tostring (internalReinforcement :GetTotalValue (self .aiTeamTech , 1 )).. " at " .. tostring (internalReinforcement .Pos ))
21292124 if internalReinforcement :IsInGroup (" Actors - Turrets" ) then
21302125 internalReinforcement .AIMode = Actor .AIMODE_SENTRY ;
21312126 else
0 commit comments