lib = $lib; $this->db = $this->lib->game->db; $this->rules = $this->lib->game->getLib('beta5/rules'); } // Returns the contents of a planet's build queue function run($id) { $q = $this->db->query("SELECT owner,mfact,corruption FROM planet WHERE id=$id"); list($uid, $mf, $cl) = dbFetchArray($q); $ru = $this->rules->call('get', $uid); $mp = $ru['mf_productivity'] * $ru['mf_productivity_factor'] * $mf; if ($mp == 0) { $mp = 1; } $cl = $cl / 32000; if ($cl > .1) { $mp = floor($mp * (1.1 - $cl)); } $q = $this->db->query("SELECT item,quantity,workunits FROM buildqueue WHERE planet = $id ORDER BY bq_order ASC"); $bq = array(); $cwu = 0; while ($r = dbFetchArray($q)) { $i = array( "type" => $r[0], "quantity" => $r[1], "workunits" => $r[2] ); $units = $ru['workunits_'.$this->lib->mainClass->types[$r[0]]] * $r[1] - $r[2]; $i['units'] = $units; $cwu += $units; $mod = $units % $mp; $ttb = ($units - $mod) / $mp + ($mod ? 1 : 0); $i['time'] = $ttb; $mod = $cwu % $mp; $ttb = ($cwu - $mod) / $mp + ($mod ? 1 : 0); $i['ctime'] = $ttb; $i['cost'] = $r[1] * $ru['build_cost_'.$this->lib->mainClass->types[$r[0]]]; array_push($bq, $i); } return $bq; } } ?>