diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 374d4f6f..a4edcddb 100644 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -3199,6 +3199,7 @@ $crannyimg = "getTrainingList(); @@ -3206,26 +3207,20 @@ $crannyimg = "updateTraining($train['id'],0); $trained = 0; - if($train['eachtime'] == 0) { $train['eachtime'] = 1; } - $timepast = $train['timestamp'] - $train['commence']; - if ($timepast >= 0) { - $trained = floor($timepast/$train['eachtime']); - $pop = $train['pop'] * $trained; - if($trained >= $train['amt']) { - $trained = $train['amt']; - } + + $timepast = $train['timestamp'] - $time; + $trained = $timepast-($train['amt']-1)*$train['eachtime']; + $pop = $train['pop']; + if($trained <= 0){ if($train['unit']>60 && $train['unit']!=99){ - $database->modifyUnit($train['vref'],array($train['unit']-60),array($trained),array(1)); + $database->modifyUnit($train['vref'],array($train['unit']-60),array(1),array(1)); }else{ - $database->modifyUnit($train['vref'],array($train['unit']),array($trained),array(1)); + $database->modifyUnit($train['vref'],array($train['unit']),array(1),array(1)); } - if($train['amt']-$trained <= 0) { - $database->trainUnit($train['id'],0,0,0,0,1,1); - } - if($trained > 0) { - $database->modifyCommence($train['id']); - } - $database->updateTraining($train['id'],$trained); + $database->updateTraining($train['id'],1); + } + if($timepast < 0) { + $database->trainUnit($train['id'],0,0,0,0,1,1); } } } diff --git a/GameEngine/Database/db_MYSQL.php b/GameEngine/Database/db_MYSQL.php index af8c12d0..c599ab41 100644 --- a/GameEngine/Database/db_MYSQL.php +++ b/GameEngine/Database/db_MYSQL.php @@ -2289,10 +2289,8 @@ } elseif(in_array($unit, $trapper)) { $queued = $technology->getTrainingList(8); } - if(count($queued) > 0) { - $time = $queued[count($queued) - 1]['commence'] + $queued[count($queued) - 1]['eachtime'] * $queued[count($queued) - 1]['amt']; - } - $now = time(); + $now = time(); + $uid = $this->getVillageField($vid, "owner"); $artefact = count($this->getOwnUniqueArtefactInfo2($uid,5,3,0)); @@ -2313,7 +2311,11 @@ $each *= 3; $each = round($each); } - $q = "INSERT INTO " . TB_PREFIX . "training values (0,$vid,$unit,$amt,$pop,$now,$each,$time)"; + if($each == 0){ $each = 1; } + if(count($queued) > 0) { + $time += $queued[count($queued) - 1]['timestamp'] - $now; + } + $q = "INSERT INTO " . TB_PREFIX . "training values (0,$vid,$unit,$amt,$pop,$time,$each)"; } else { $q = "DELETE FROM " . TB_PREFIX . "training where id = $vid"; } @@ -2321,8 +2323,7 @@ } function updateTraining($id, $trained) { - $time = time(); - $q = "UPDATE " . TB_PREFIX . "training set amt = amt - $trained, timestamp = $time where id = $id"; + $q = "UPDATE " . TB_PREFIX . "training set amt = amt - $trained where id = $id"; return mysql_query($q, $this->connection); } @@ -2575,13 +2576,6 @@ return mysql_query($q, $this->connection); } - function modifyCommence($id) { - $time = time(); - $q = "UPDATE " . TB_PREFIX . "training set commence = $time WHERE id=$id"; - return mysql_query($q, $this->connection); - } - - function getTrainingList() { $q = "SELECT * FROM " . TB_PREFIX . "training where vref != ''"; $result = mysql_query($q, $this->connection); diff --git a/GameEngine/Technology.php b/GameEngine/Technology.php index b8c6be0f..2dd34952 100644 --- a/GameEngine/Technology.php +++ b/GameEngine/Technology.php @@ -490,9 +490,9 @@ private function trainUnit($unit,$amt,$great=false) { $iron = ${'u'.$unit}['iron'] * $amt * ($great?3:1); $crop = ${'u'.$unit}['crop'] * $amt * ($great?3:1); $each = ($each == 0) ? 1 : $each; - + $time = $each*$amt; if($database->modifyResource($village->wid,$wood,$clay,$iron,$crop,0) && $amt > 0) { - $database->trainUnit($village->wid,$unit+($great?60:0),$amt,${'u'.$unit}['pop'],$each,time(),0); + $database->trainUnit($village->wid,$unit+($great?60:0),$amt,${'u'.$unit}['pop'],$each,time()+$time,0); } } } diff --git a/Templates/Build/19.tpl b/Templates/Build/19.tpl index 28bed4a4..760ff1f2 100644 --- a/Templates/Build/19.tpl +++ b/Templates/Build/19.tpl @@ -40,13 +40,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/20.tpl b/Templates/Build/20.tpl index 020f030a..a712684e 100644 --- a/Templates/Build/20.tpl +++ b/Templates/Build/20.tpl @@ -50,13 +50,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/21.tpl b/Templates/Build/21.tpl index ae082db8..0616473b 100644 --- a/Templates/Build/21.tpl +++ b/Templates/Build/21.tpl @@ -104,13 +104,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/25_progress.tpl b/Templates/Build/25_progress.tpl index 5fcd9a1f..baac5a49 100644 --- a/Templates/Build/25_progress.tpl +++ b/Templates/Build/25_progress.tpl @@ -16,13 +16,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/26_progress.tpl b/Templates/Build/26_progress.tpl index 5fcd9a1f..baac5a49 100644 --- a/Templates/Build/26_progress.tpl +++ b/Templates/Build/26_progress.tpl @@ -16,13 +16,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/29.tpl b/Templates/Build/29.tpl index 82cd64d0..36b71c1c 100644 --- a/Templates/Build/29.tpl +++ b/Templates/Build/29.tpl @@ -39,13 +39,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/30.tpl b/Templates/Build/30.tpl index 81470815..0cf6b38f 100644 --- a/Templates/Build/30.tpl +++ b/Templates/Build/30.tpl @@ -39,13 +39,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/36.tpl b/Templates/Build/36.tpl index ffe9e82e..4deffc07 100644 --- a/Templates/Build/36.tpl +++ b/Templates/Build/36.tpl @@ -107,13 +107,13 @@ include("next.tpl"); echo "\"".U99."\""; echo $train['amt']." ".U99.""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; } diff --git a/Templates/Build/42.tpl b/Templates/Build/42.tpl index 371bd404..dbd2d9f6 100644 --- a/Templates/Build/42.tpl +++ b/Templates/Build/42.tpl @@ -39,13 +39,13 @@ echo "\"".$train['name']."\""; echo $train['amt']." ".$train['name'].""; if ($TrainCount == 1 ) { - $NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time()); - echo "".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time()).""; + $NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']); + echo "".$generator->getTimeFormat($train['timestamp']-time()).""; } else { echo $generator->getTimeFormat($train['eachtime']*$train['amt']); } echo ""; - $time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt'])); + $time = $generator->procMTime($train['timestamp']); if($time[0] != "today") { echo "on ".$time[0]." at "; }