Skip to content

Commit

Permalink
-
Browse files Browse the repository at this point in the history
  • Loading branch information
boludoz committed Jul 30, 2022
1 parent a6a1f21 commit 826e3f1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 15 deletions.
32 changes: 19 additions & 13 deletions COCBot/functions/CreateArmy/DoubleTrain.au3
Original file line number Diff line number Diff line change
Expand Up @@ -491,32 +491,38 @@ Func FixInDoubleTrain(ByRef $aTroops, $iTotal, $aTroopSpace, $iIndexRemain = 0)
$aTroops[$iIndexRemain] = $iTotal
Return
EndIf

For $i = 0 To $iCo -1
$aTroops[$i] = Floor(((((($aTroops[$i] * $aTroopSpace[$i]) / $iRealCAP) * 100) * $iTotal) / 100) / $aTroopSpace[$i])
$iTotalFixed += $aTroops[$i] * $aTroopSpace[$i]

Local $iDiv = 0, $iFinal = 0
For $i = $iCo -1 To 0 Step -1
$iDiv = Floor(((((($aTroops[$i] * $aTroopSpace[$i]) / $iRealCAP) * 100) * $iTotal) / 100) / $aTroopSpace[$i])
If Int($iTotalFixed + Int($iDiv * $aTroopSpace[$i])) > $iTotal Then ContinueLoop
$aTroops[$i] = $iDiv
$iTotalFixed += $aTroops[$i] * $aTroopSpace[$i]
Next

Local $iFinal = $iTotalFixed
$iFinal = $iTotalFixed
If $iTotalFixed <> $iTotal Then
For $i = 0 To $iCo -1
If $aTroops[$i] = 0 Then ContinueLoop
Local $iDiff = Abs($iTotalFixed - $iTotal)
Local $iDiv = Round($iDiff / $aTroopSpace[$i])
If $iFinal >= $iTotal Then ExitLoop
$iDiv = Floor(($iTotal - $iTotalFixed) / $aTroopSpace[$i])
If $iDiv > 0 Then
$iFinal -= $aTroops[$i] * $aTroopSpace[$i]
$aTroops[$i] += $iDiff / $aTroopSpace[$i]

If Int($iFinal + ($iDiv * $aTroopSpace[$i])) <= $iTotal Then
$aTroops[$i] += $iDiv
EndIf

$iFinal += $aTroops[$i] * $aTroopSpace[$i]
ExitLoop
EndIf
Next
EndIf

$iFinal = $iTotalFixed
$iTotalFixed = $iFinal
If $iTotalFixed <> $iTotal Then
For $i = 0 To $iCo -1
If $aTroops[$i] = 0 Then ContinueLoop
Local $iDiff = Abs($iTotalFixed - $iTotal)
Local $iDiff = ($iTotal - $iTotalFixed)
If Mod($iDiff, $aTroopSpace[$i]) = 0 Then
$iFinal -= $aTroops[$i] * $aTroopSpace[$i]
$aTroops[$i] += $iDiff / $aTroopSpace[$i]
Expand All @@ -525,6 +531,6 @@ Func FixInDoubleTrain(ByRef $aTroops, $iTotal, $aTroopSpace, $iIndexRemain = 0)
EndIf
Next
EndIf
$aTroops[$iIndexRemain] += Abs($iFinal - $iTotal)
If $iFinal < $iTotal Then $aTroops[$iIndexRemain] += $iTotal - $iFinal
EndFunc ;==>FixInDoubleTrain
#EndRegion - Custom Train - Team AIO Mod++
17 changes: 15 additions & 2 deletions COCBot/functions/CreateArmy/TrainSystem.au3
Original file line number Diff line number Diff line change
Expand Up @@ -510,17 +510,30 @@ Func RemoveExtraTroops($toRemove)

SetLog("Troops To Remove: ", $COLOR_INFO)
$CounterToRemove = 0

Local $iIfWrongIndex = -1

; Loop through Troops needed to get removed Just to write some Logs
For $i = 0 To (UBound($toRemove) - 1)
If IsSpellToBrew($toRemove[$i][0]) Then ExitLoop
$CounterToRemove += 1
SetLog(" - " & $g_asTroopNames[TroopIndexLookup($toRemove[$i][0])] & ": " & $toRemove[$i][1] & "x", $COLOR_SUCCESS)
$iIfWrongIndex = TroopIndexLookup($toRemove[$i][0])
If $iIfWrongIndex <> -1 Then
SetLog(" - " & $g_asTroopNames[$iIfWrongIndex] & ": " & $toRemove[$i][1] & "x", $COLOR_SUCCESS)
Else
SetLog(" - Wrong " & $toRemove[$i][0], $COLOR_ERROR)
EndIf
Next

If $CounterToRemove <= UBound($toRemove) Then
SetLog("Spells To Remove: ", $COLOR_INFO)
For $i = $CounterToRemove To (UBound($toRemove) - 1)
SetLog(" - " & $g_asSpellNames[TroopIndexLookup($toRemove[$i][0]) - $eLSpell] & ": " & $toRemove[$i][1] & "x", $COLOR_SUCCESS)
$iIfWrongIndex = TroopIndexLookup($toRemove[$i][0]) - $eLSpell
If $iIfWrongIndex <> -1 Then
SetLog(" - " & $g_asSpellNames[$iIfWrongIndex] & ": " & $toRemove[$i][1] & "x", $COLOR_SUCCESS)
Else
SetLog(" - Wrong " & $toRemove[$i][0] & " - " & $eLSpell, $COLOR_ERROR)
EndIf
Next
EndIf

Expand Down

0 comments on commit 826e3f1

Please sign in to comment.