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
This commit is contained in:
iopietro
2018-04-21 21:04:16 +02:00
parent 13e21d66e1
commit 05504afcf4
+11 -14
View File
@@ -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);