function GetMaxConstructibleElements($USER, $PLANET, $Element) { global $SHIPYARD; $this->setGlobal(); return BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element); }
public function show() { global $USER, $PLANET, $LNG, $resource, $dpath, $reslist, $requeriments, $CONF; $fmenge = isset($_POST['fmenge']) ? $_POST['fmenge'] : array(); $action = HTTP::_GP('action', ''); $NotBuilding = true; if (!empty($PLANET['b_building_id'])) { $CurrentQueue = unserialize($PLANET['b_building_id']); foreach ($CurrentQueue as $ElementArray) { if ($ElementArray[0] == 21 || $ElementArray[0] == 15) { $NotBuilding = false; break; } } } $ElementQueue = unserialize($PLANET['b_hangar_id']); if (empty($ElementQueue)) { $Count = 0; } else { $Count = count($ElementQueue); } if ($USER['urlaubs_modus'] == 0) { if (!empty($fmenge) && $NotBuilding == true) { if (Config::get('max_elements_ships') != 0 && $Count >= Config::get('max_elements_ships')) { $this->printMessage(sprintf($LNG['bd_max_builds'], Config::get('max_elements_ships'))); exit; } $this->BuildAuftr($fmenge); } if ($action == "delete") { $this->CancelAuftr(); } } $elementInQueue = array(); $ElementQueue = unserialize($PLANET['b_hangar_id']); $Buildlist = array(); if (!empty($ElementQueue)) { $Shipyard = array(); $QueueTime = 0; foreach ($ElementQueue as $Element) { if (empty($Element)) { continue; } $elementInQueue[$Element[0]] = true; $ElementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element[0]); $QueueTime += $ElementTime * $Element[1]; $Shipyard[] = array($LNG['tech'][$Element[0]], $Element[1], $ElementTime, $Element[0]); } $this->tplObj->loadscript('bcmath.js'); $this->tplObj->execscript('ShipyardInit();'); $Buildlist = array('Queue' => $Shipyard, 'b_hangar_id_plus' => $PLANET['b_hangar'], 'pretty_time_b_hangar' => pretty_time(max($QueueTime - $PLANET['b_hangar'], 0))); } $mode = HTTP::_GP('mode', 'fleet'); if ($mode != 'defense' && $PLANET['planet_type'] == 4) { $this->printMessage("You cant acces this page on a fortress"); } if ($mode == 'defense' && $CONF['fleetconf'] == 1 && $CONF['purchase_bonus_timer'] > TIMESTAMP) { $elementALL = array(401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 502, 503); $elementIDs = array(407, 408, 409, 411, 502, 503); $elementIDd = array(401, 402, 403, 420); $elementIDa = array(405, 404, 406, 416, 417, 421); $elementIDq = array(418, 412, 410, 413, 419, 414, 422, 415); } elseif ($mode == 'defense') { $elementALL = array(401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 421, 422, 502, 503); $elementIDs = array(407, 408, 409, 411, 502, 503); $elementIDd = array(401, 402, 403); $elementIDa = array(405, 404, 406, 416, 417); $elementIDq = array(418, 412, 410, 413, 419, 414, 415); } elseif ($mode == 'fleet' && $CONF['fleetconf'] == 1 && $CONF['purchase_bonus_timer'] > TIMESTAMP) { $elementALL = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230); $elementIDs = array(208, 210, 220, 223); $elementIDd = array(212, 202, 203, 204, 205, 229); $elementIDa = array(209, 206, 207, 217, 215, 213, 211, 219, 224); $elementIDq = array(225, 226, 214, 216, 230, 227, 228, 222, 218, 221); } elseif ($mode == 'fleet') { $elementALL = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230); $elementIDs = array(208, 210, 220, 223); $elementIDd = array(212, 202, 203, 204, 205); $elementIDa = array(209, 206, 207, 217, 215, 213, 211, 219); $elementIDq = array(225, 226, 214, 216, 227, 228, 222, 218, 221); } $Missiles = array(); $Domes = array(); $Orbits = array(); foreach ($reslist['missile'] as $elementID) { $Missiles[$elementID] = $PLANET[$resource[$elementID]]; } foreach ($reslist['defense'] as $elementID) { $Domes[$elementID] = $PLANET[$resource[$elementID]]; $Orbits[$elementID] = $PLANET[$resource[$elementID]]; } $MaxMissiles = BuildFunctions::getMaxConstructibleRockets($USER, $PLANET, $Missiles); $MaxDomes = BuildFunctions::getMaxConstructibleDomes($USER, $PLANET, $Domes); $MaxOrbits = BuildFunctions::getMaxConstructibleOrbits($USER, $PLANET, $Orbits); foreach ($elementALL as $Element) { $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costRessources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } if (isset($MaxDomes[$Element])) { $maxBuildable = min($maxBuildable, $MaxDomes[$Element]); } if (isset($MaxOrbits[$Element])) { $maxBuildable = min($maxBuildable, $MaxOrbits[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementListall[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } foreach ($elementIDs as $Element) { $AllTech = array(); $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $Element . " ;"); if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) { while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) { $AllTech[] = $x; } } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costRessources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } if (isset($MaxDomes[$Element])) { $maxBuildable = min($maxBuildable, $MaxDomes[$Element]); } if (isset($MaxOrbits[$Element])) { $maxBuildable = min($maxBuildable, $MaxOrbits[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementList[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } foreach ($elementIDq as $Element) { $AllTech = array(); $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $Element . " ;"); if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) { while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) { $AllTech[] = $x; } } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costRessources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } if (isset($MaxDomes[$Element])) { $maxBuildable = min($maxBuildable, $MaxDomes[$Element]); } if (isset($MaxOrbits[$Element])) { $maxBuildable = min($maxBuildable, $MaxOrbits[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementListq[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } foreach ($elementIDa as $Element) { $AllTech = array(); $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $Element . " ;"); if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) { while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) { $AllTech[] = $x; } } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costRessources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } if (isset($MaxDomes[$Element])) { $maxBuildable = min($maxBuildable, $MaxDomes[$Element]); } if (isset($MaxOrbits[$Element])) { $maxBuildable = min($maxBuildable, $MaxOrbits[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementLista[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } foreach ($elementIDd as $Element) { $AllTech = array(); $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $Element . " ;"); if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) { while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) { $AllTech[] = $x; } } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costRessources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } if (isset($MaxDomes[$Element])) { $maxBuildable = min($maxBuildable, $MaxDomes[$Element]); } if (isset($MaxOrbits[$Element])) { $maxBuildable = min($maxBuildable, $MaxOrbits[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementListd[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } $manual_step_9 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 9 && ($PLANET['misil_launcher'] < 25 || $PLANET['small_laser'] < 10)) { $manual_step_9 = 0; } $manual_step_10 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 9 && $PLANET['misil_launcher'] >= 25 && $PLANET['small_laser'] >= 10) { $manual_step_10 = 0; $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `training_step` = '11' WHERE `id` = " . $USER['id'] . ";"); $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `experience_peace` = `experience_peace` + '650' WHERE `id` = '" . $USER['id'] . "';"); require_once 'includes/classes/class.FleetFunctions.php'; $rawfleetarray = array(204 => 8, 205 => 5, 206 => 3); $fleetRessource = array(901 => 0, 902 => 0, 903 => 0); FleetFunctions::sendFleet($rawfleetarray, '1', 1, 1, 1, 1, 1, 1, $PLANET['id_owner'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $fleetRessource, TIMESTAMP + 58, TIMESTAMP + 58, TIMESTAMP + 116, 0); } $manual_step_16 = 1; if ($USER['training'] == 0 && $USER['training_step'] == 16) { $manual_step_16 = 0; } if ($USER['training'] == 0 && $USER['training_step'] == 16 && $PLANET['recycler'] >= 5) { $GLOBALS['DATABASE']->query("UPDATE " . USERS . " SET `training_step` = '17' WHERE `id` = " . $USER['id'] . ";"); } $this->tplObj->loadscript('shipyard.js'); $this->tplObj->assign_vars(array('manual_step_16' => $manual_step_16, 'manual_step_10' => $manual_step_10, 'manual_step_9' => $manual_step_9, 'elementListall' => $elementListall, 'elementList' => $elementList, 'elementListd' => $elementListd, 'elementLista' => $elementLista, 'elementListq' => $elementListq, 'NotBuilding' => $NotBuilding, 'BuildList' => $Buildlist, 'maxlength' => strlen(Config::get('max_fleet_per_build')), 'mode' => $mode)); $this->display('page.shipyard.default.tpl'); }
public function show() { global $USER, $PLANET, $LNG, $resource, $reslist; if ($PLANET[$resource[21]] == 0) { $this->printMessage($LNG['bd_shipyard_required']); } $buildTodo = HTTP::_GP('fmenge', array()); $action = HTTP::_GP('action', ''); $NotBuilding = true; if (!empty($PLANET['b_building_id'])) { $CurrentQueue = unserialize($PLANET['b_building_id']); foreach ($CurrentQueue as $ElementArray) { if ($ElementArray[0] == 21 || $ElementArray[0] == 15) { $NotBuilding = false; break; } } } $ElementQueue = unserialize($PLANET['b_hangar_id']); if (empty($ElementQueue)) { $Count = 0; } else { $Count = count($ElementQueue); } if ($USER['urlaubs_modus'] == 0 && $NotBuilding == true) { if (!empty($buildTodo)) { $maxBuildQueue = Config::get()->max_elements_ships; if ($maxBuildQueue != 0 && $Count >= $maxBuildQueue) { $this->printMessage(sprintf($LNG['bd_max_builds'], $maxBuildQueue)); } $this->BuildAuftr($buildTodo); $ElementQueue = unserialize($PLANET['b_hangar_id']); } if ($action == "delete") { $this->CancelAuftr(); } } $elementInQueue = array(); $buildList = array(); $elementList = array(); if (!empty($ElementQueue)) { $Shipyard = array(); $QueueTime = 0; foreach ($ElementQueue as $Element) { if (empty($Element)) { continue; } $elementInQueue[$Element[0]] = true; $ElementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element[0]); $QueueTime += $ElementTime * $Element[1]; $Shipyard[] = array($LNG['tech'][$Element[0]], $Element[1], $ElementTime, $Element[0]); } $buildList = array('Queue' => $Shipyard, 'b_hangar_id_plus' => $PLANET['b_hangar'], 'pretty_time_b_hangar' => pretty_time(max($QueueTime - $PLANET['b_hangar'], 0))); } $mode = HTTP::_GP('mode', 'fleet'); if ($mode == 'defense') { $elementIDs = array_merge($reslist['defense'], $reslist['missile']); } else { $elementIDs = $reslist['fleet']; } $Missiles = array(); foreach ($reslist['missile'] as $elementID) { $Missiles[$elementID] = $PLANET[$resource[$elementID]]; } $MaxMissiles = BuildFunctions::getMaxConstructibleRockets($USER, $PLANET, $Missiles); foreach ($elementIDs as $Element) { if (!BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)) { continue; } $costResources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costResources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costResources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costResources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costResources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementList[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costResources' => $costResources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild); } $this->assign(array('elementList' => $elementList, 'NotBuilding' => $NotBuilding, 'BuildList' => $buildList, 'maxlength' => strlen(Config::get()->max_fleet_per_build), 'mode' => $mode)); $this->display('page.shipyard.default.tpl'); }
public static function addShipsToQueue($fmenge) { global $USER, $PLANET, $reslist, $CONF, $resource; $Missiles = array(502 => $PLANET[$resource[502]], 503 => $PLANET[$resource[503]]); foreach ($fmenge as $Element => $Count) { if (empty($Count) || !in_array($Element, array_merge($reslist['fleet'], $reslist['defense'], $reslist['missile'])) || !BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)) { continue; } $MaxElements = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element); $Count = is_numeric($Count) ? round($Count) : 0; $Count = max(min($Count, Config::get('max_fleet_per_build')), 0); $Count = min($Count, $MaxElements); $BuildArray = !empty($PLANET['b_hangar_id']) ? unserialize($PLANET['b_hangar_id']) : array(); if (in_array($Element, $reslist['missile'])) { $MaxMissiles = BuildFunctions::getMaxConstructibleRockets($USER, $PLANET, $Missiles); $Count = min($Count, $MaxMissiles[$Element]); $Missiles[$Element] += $Count; } elseif (in_array($Element, $reslist['one'])) { $InBuild = false; foreach ($BuildArray as $ElementArray) { if ($ElementArray[0] == $Element) { $InBuild = true; break; } } if ($InBuild) { continue; } if ($Count != 0 && $PLANET[$resource[$Element]] == 0 && $InBuild === false) { $Count = 1; } } if (empty($Count)) { continue; } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element, false, $Count); if (isset($costRessources[901])) { $PLANET[$resource[901]] -= $costRessources[901]; } if (isset($costRessources[902])) { $PLANET[$resource[902]] -= $costRessources[902]; } if (isset($costRessources[903])) { $PLANET[$resource[903]] -= $costRessources[903]; } if (isset($costRessources[921])) { $USER[$resource[921]] -= $costRessources[921]; } $BuildArray[] = array($Element, $Count); $PLANET['b_hangar_id'] = serialize($BuildArray); } }
public function show() { global $USER, $PLANET, $LNG, $resource, $dpath, $reslist, $CONF; $fmenge = isset($_POST['fmenge']) ? $_POST['fmenge'] : array(); $action = HTTP::_GP('action', ''); $NotBuilding = true; if (!empty($PLANET['b_building_id'])) { $CurrentQueue = unserialize($PLANET['b_building_id']); foreach ($CurrentQueue as $ElementArray) { if ($ElementArray[0] == 21 || $ElementArray[0] == 15) { $NotBuilding = false; break; } } } $ElementQueue = unserialize($PLANET['b_hangar_id']); if (empty($ElementQueue)) { $Count = 0; } else { $Count = count($ElementQueue); } if ($USER['urlaubs_modus'] == 0) { if (!empty($fmenge) && $NotBuilding == true) { if (Config::get('max_elements_ships') != 0 && $Count >= Config::get('max_elements_ships')) { $this->printMessage(sprintf($LNG['bd_max_builds'], Config::get('max_elements_ships'))); exit; } $this->BuildAuftr($fmenge); } if ($action == "delete") { $this->CancelAuftr(); } } $elementInQueue = array(); $ElementQueue = unserialize($PLANET['b_hangar_id']); $Buildlist = array(); if (!empty($ElementQueue)) { $Shipyard = array(); $QueueTime = 0; foreach ($ElementQueue as $Element) { if (empty($Element)) { continue; } $elementInQueue[$Element[0]] = true; $ElementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element[0]); $QueueTime += $ElementTime * $Element[1]; $Shipyard[] = array($LNG['tech'][$Element[0]], $Element[1], $ElementTime, $Element[0]); } $this->tplObj->loadscript('bcmath.js'); $this->tplObj->loadscript('shipyard.js'); $this->tplObj->execscript('ShipyardInit();'); $Buildlist = array('Queue' => $Shipyard, 'b_hangar_id_plus' => $PLANET['b_hangar'], 'pretty_time_b_hangar' => pretty_time(max($QueueTime - $PLANET['b_hangar'], 0))); } $mode = HTTP::_GP('mode', 'fleet'); if ($mode == 'defense') { $elementIDs = array(401, 402, 403, 404, 405, 406); } elseif ($mode == 'orbit') { $elementIDs = array(407, 408); } elseif ($mode == 'recy') { $elementIDs = array(209, 223, 219); } elseif ($mode == 'energy') { $elementIDs = array(221, 222); } elseif ($mode == 'combat') { $elementIDs = array(204, 205, 206, 207, 211, 214, 215, 216); } else { $elementIDs = array(202, 203, 210, 224); } $inmode = 0; if ($mode == 'recy' || $mode == 'energy' || $mode == 'combat' || $mode == 'fleet') { $inmode = 1; } $Missiles = array(); foreach ($reslist['missile'] as $elementID) { $Missiles[$elementID] = $PLANET[$resource[$elementID]]; } $MaxMissiles = BuildFunctions::getMaxConstructibleRockets($USER, $PLANET, $Missiles); foreach ($elementIDs as $Element) { $AllTech = array(); $GetAll = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_vars_requriements` WHERE elementID = " . $Element . " ;"); if ($GLOBALS['DATABASE']->numRows($GetAll) > 0) { while ($x = $GLOBALS['DATABASE']->fetch_array($GetAll)) { $AllTech[] = $x; } } $costRessources = BuildFunctions::getElementPrice($USER, $PLANET, $Element); $costOverflow = BuildFunctions::getRestPrice($USER, $PLANET, $Element, $costRessources); $elementTime = BuildFunctions::getBuildingTime($USER, $PLANET, $Element, $costRessources); $buyable = BuildFunctions::isElementBuyable($USER, $PLANET, $Element, $costRessources); $maxBuildable = BuildFunctions::getMaxConstructibleElements($USER, $PLANET, $Element, $costRessources); if (isset($MaxMissiles[$Element])) { $maxBuildable = min($maxBuildable, $MaxMissiles[$Element]); } $AlreadyBuild = in_array($Element, $reslist['one']) && (isset($elementInQueue[$Element]) || $PLANET[$resource[$Element]] != 0); $elementList[$Element] = array('id' => $Element, 'available' => $PLANET[$resource[$Element]], 'costRessources' => $costRessources, 'costOverflow' => $costOverflow, 'elementTime' => $elementTime, 'buyable' => $buyable, 'maxBuildable' => floattostring($maxBuildable), 'AlreadyBuild' => $AlreadyBuild, 'AllTech' => $AllTech, 'techacc' => BuildFunctions::isTechnologieAccessible($USER, $PLANET, $Element)); } $this->tplObj->assign_vars(array('inmode' => $inmode, 'elementList' => $elementList, 'NotBuilding' => $NotBuilding, 'BuildList' => $Buildlist, 'maxlength' => strlen(Config::get('max_fleet_per_build')), 'mode' => $mode)); $this->display('page.shipyard.default.tpl'); }