From 05504afcf4c772b4c7e050d3833880cbc6f38e3e Mon Sep 17 00:00:00 2001 From: iopietro Date: Sat, 21 Apr 2018 21:04:16 +0200 Subject: [PATCH] Fixed a bug while training troops +Troop trainings with 0 troops are now deleted immediately after adding the trained troops (and not after another foreach) +Fixed a bug that could have caused the training of one negative troops --- GameEngine/Automation.php | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 35a78397..6681888c 100755 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -4234,28 +4234,25 @@ class Automation { $timepast2 -= $train['eachtime']; $trained += 1; } - if($trained > $train['amt']){ - $trained = $train['amt']; - } - }else{ - $trained = $train['amt']; + + if($trained > $train['amt']) $trained = $train['amt']; } + else $trained = $train['amt']; - if($train['unit']>60 && $train['unit']!=99){ - $database->modifyUnit($train['vref'],array($train['unit']-60),array($trained),array(1)); - }else{ - $database->modifyUnit($train['vref'],array($train['unit']),array($trained),array(1)); + if($train['unit'] > 60 && $train['unit'] != 99){ + $database->modifyUnit($train['vref'], [$train['unit'] - 60], [$trained], [1]); } - $database->updateTraining($train['id'],$trained,$trained*$train['eachtime']); + else $database->modifyUnit($train['vref'], [$train['unit']], [$trained], [1]); + + $database->updateTraining($train['id'], $trained, $trained * $train['eachtime']); + + if($train['amt'] - $trained <= 0) $database->trainUnit($train['id'], 0, 0, 0, 0, 1, 1); } if ($valuesUpdated) { call_user_func(get_class($database).'::clearUnitsCache'); } - - if($train['amt'] == 0){ - $database->trainUnit($train['id'],0,0,0,0,1,1); - } + $crop = $database->getCropProdstarv($train['vref']); $unitarrays = $this->getAllUnits($train['vref']); $village = $database->getVillage($train['vref'], 0);