public function show() { global $USER, $PLANET, $LNG; $this->tplObj->loadscript('flotten.js'); $targetGalaxy = HTTP::_GP('galaxy', 0); $targetSystem = HTTP::_GP('system', 0); $targetPlanet = HTTP::_GP('planet', 0); $targetType = HTTP::_GP('type', 0); $targetMission = HTTP::_GP('target_mission', 0); $fleetSpeed = HTTP::_GP('speed', 0); $fleetGroup = HTTP::_GP('fleet_group', 0); $token = HTTP::_GP('token', ''); if (!isset($_SESSION['fleet'][$token])) { FleetFunctions::GotoFleetPage(); } $fleetArray = $_SESSION['fleet'][$token]['fleet']; $db = Database::get(); $sql = "SELECT id, id_owner, der_metal, der_crystal FROM %%PLANETS%% WHERE universe = :universe AND galaxy = :targetGalaxy AND system = :targetSystem AND planet = :targetPlanet AND planet_type = '1';"; $targetPlanetData = $db->selectSingle($sql, array(':universe' => Universe::current(), ':targetGalaxy' => $targetGalaxy, ':targetSystem' => $targetSystem, ':targetPlanet' => $targetPlanet)); if ($targetType == 2 && $targetPlanetData['der_metal'] == 0 && $targetPlanetData['der_crystal'] == 0) { $this->printMessage($LNG['fl_error_empty_derbis'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } $MisInfo = array(); $MisInfo['galaxy'] = $targetGalaxy; $MisInfo['system'] = $targetSystem; $MisInfo['planet'] = $targetPlanet; $MisInfo['planettype'] = $targetType; $MisInfo['IsAKS'] = $fleetGroup; $MisInfo['Ship'] = $fleetArray; $MissionOutput = FleetFunctions::GetFleetMissions($USER, $MisInfo, $targetPlanetData); if (empty($MissionOutput['MissionSelector'])) { $this->printMessage($LNG['fl_empty_target'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } $GameSpeedFactor = FleetFunctions::GetGameSpeedFactor(); $MaxFleetSpeed = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($targetGalaxy, $targetSystem, $targetPlanet)); $duration = FleetFunctions::GetMissionDuration($fleetSpeed, $MaxFleetSpeed, $distance, $GameSpeedFactor, $USER); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $duration, $distance, $USER, $GameSpeedFactor); if ($consumption > $PLANET['deuterium']) { $this->printMessage($LNG['fl_not_enough_deuterium'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } if (!FleetFunctions::CheckUserSpeed($fleetSpeed)) { FleetFunctions::GotoFleetPage(0); } $_SESSION['fleet'][$token]['speed'] = $MaxFleetSpeed; $_SESSION['fleet'][$token]['distance'] = $distance; $_SESSION['fleet'][$token]['targetGalaxy'] = $targetGalaxy; $_SESSION['fleet'][$token]['targetSystem'] = $targetSystem; $_SESSION['fleet'][$token]['targetPlanet'] = $targetPlanet; $_SESSION['fleet'][$token]['targetType'] = $targetType; $_SESSION['fleet'][$token]['fleetGroup'] = $fleetGroup; $_SESSION['fleet'][$token]['fleetSpeed'] = $fleetSpeed; if (!empty($fleet_group)) { $targetMission = 2; } $fleetData = array('fleetroom' => floatToString($_SESSION['fleet'][$token]['fleetRoom']), 'consumption' => floatToString($consumption)); $this->tplObj->execscript('calculateTransportCapacity();'); $this->assign(array('fleetdata' => $fleetData, 'consumption' => floatToString($consumption), 'mission' => $targetMission, 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'type' => $PLANET['planet_type'], 'MissionSelector' => $MissionOutput['MissionSelector'], 'StaySelector' => $MissionOutput['StayBlock'], 'fl_dm_alert_message' => sprintf($LNG['fl_dm_alert_message'], $LNG['type_mission'][11], $LNG['tech'][921]), 'fl_continue' => $LNG['fl_continue'], 'token' => $token)); $this->display('page.fleetStep2.default.tpl'); }
public function show() { global $USER, $PLANET, $LNG, $UNI; $this->tplObj->loadscript('flotten.js'); $targetGalaxy = HTTP::_GP('galaxy', 0); $targetSystem = HTTP::_GP('system', 0); $targetPlanet = HTTP::_GP('planet', 0); $targetType = HTTP::_GP('type', 0); $targetMission = HTTP::_GP('target_mission', 0); $fleetSpeed = HTTP::_GP('speed', 0); $fleetGroup = HTTP::_GP('fleet_group', 0); $token = HTTP::_GP('token', ''); if (!isset($_SESSION['fleet'][$token])) { FleetFunctions::GotoFleetPage(); } $fleetArray = $_SESSION['fleet'][$token]['fleet']; $targetPlanetData = $GLOBALS['DATABASE']->getFirstRow("SELECT `id`, `id_owner`, `der_metal`, `der_crystal`, `der_deuterium` FROM `" . PLANETS . "` WHERE `universe` = " . $UNI . " AND `galaxy` = " . $targetGalaxy . " AND `system` = " . $targetSystem . " AND `planet` = " . $targetPlanet . " AND `planet_type` = '1';"); if ($targetType == 2 && $targetPlanetData['der_metal'] == 0 && $targetPlanetData['der_crystal'] == 0 && $targetPlanetData['der_deuterium'] == 0) { $this->printMessage($LNG['fl_error_empty_derbis']); } ##PlayerUnit::maxPlanetCount $MisInfo = array(); $MisInfo['galaxy'] = $targetGalaxy; $MisInfo['system'] = $targetSystem; $MisInfo['planet'] = $targetPlanet; $MisInfo['planettype'] = $targetType; $MisInfo['IsAKS'] = $fleetGroup; $MisInfo['Ship'] = $fleetArray; $MissionOutput = FleetFunctions::GetFleetMissions($USER, $MisInfo, $targetPlanetData); if (empty($MissionOutput['MissionSelector'])) { $this->printMessage($LNG['fl_empty_target']); } $GameSpeedFactor = FleetFunctions::GetGameSpeedFactor(); $MaxFleetSpeed = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($targetGalaxy, $targetSystem, $targetPlanet)); $duration = FleetFunctions::GetMissionDuration($fleetSpeed, $MaxFleetSpeed, $distance, $GameSpeedFactor, $USER); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $duration, $distance, $MaxFleetSpeed, $USER, $GameSpeedFactor); if ($consumption > $PLANET['deuterium']) { $this->printMessage($LNG['fl_not_enough_deuterium']); } if (!FleetFunctions::CheckUserSpeed($fleetSpeed)) { FleetFunctions::GotoFleetPage(0); } $_SESSION['fleet'][$token]['speed'] = $MaxFleetSpeed; $_SESSION['fleet'][$token]['distance'] = $distance; $_SESSION['fleet'][$token]['targetGalaxy'] = $targetGalaxy; $_SESSION['fleet'][$token]['targetSystem'] = $targetSystem; $_SESSION['fleet'][$token]['targetPlanet'] = $targetPlanet; $_SESSION['fleet'][$token]['targetType'] = $targetType; $_SESSION['fleet'][$token]['fleetGroup'] = $fleetGroup; $_SESSION['fleet'][$token]['fleetSpeed'] = $fleetSpeed; if (!empty($fleet_group)) { $targetMission = 2; } $fleetData = array('fleetroom' => floattostring($_SESSION['fleet'][$token]['fleetRoom']), 'consumption' => floattostring($consumption)); $this->tplObj->execscript('calculateTransportCapacity();'); $this->tplObj->assign_vars(array('fleetdata' => $fleetData, 'consumption' => floattostring($consumption), 'mission' => $targetMission, 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'type' => $PLANET['planet_type'], 'MissionSelector' => $MissionOutput['MissionSelector'], 'StaySelector' => $MissionOutput['StayBlock'], 'fl_dm_alert_message' => sprintf($LNG['fl_dm_alert_message'], $LNG['type_mission'][11], $LNG['tech'][921]), 'fl_continue' => $LNG['fl_continue'], 'token' => $token)); $this->display('page.fleetStep2.default.tpl'); }
function TargetEvent() { $senderUser = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . USERS . " WHERE id = " . $this->_fleet['fleet_owner'] . ";"); $senderUser['factor'] = getFactors($senderUser, 'basic', $this->_fleet['fleet_start_time']); $fleetArray = fleetAmountToArray($this->_fleet['fleet_array']); $duration = $this->_fleet['fleet_start_time'] - $this->_fleet['start_time']; require_once 'includes/classes/class.FleetFunctions.php'; $fleetMaxSpeed = FleetFunctions::GetFleetMaxSpeed($fleetArray, $senderUser); $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $distance = FleetFunctions::GetTargetDistance(array($this->_fleet['fleet_start_galaxy'], $this->_fleet['fleet_start_system'], $this->_fleet['fleet_start_planet']), array($this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet'])); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $duration, $distance, $fleetMaxSpeed, $senderUser, $SpeedFactor); $this->UpdateFleet('fleet_resource_elyrium', $this->_fleet['fleet_resource_elyrium'] + $consumption / 2); $LNG = $this->getLanguage($senderUser['lang']); $TargetUserID = $this->_fleet['fleet_target_owner']; $TargetMessage = '<div style="text-align : justify;"> ' . $LNG['fleet_deploy_9'] . ' : </div> <div class="citation"> <div class="guillemet ouvrir">«</div> <div class="guillemet fermer">»</div> ' . $LNG['fleet_deploy_10'] . ' Base Alpha 5 [' . $this->_fleet['fleet_end_system'] . ':' . $this->_fleet['fleet_end_planet'] . '] ' . $LNG['fleet_deploy_11'] . ' <br> <div style="padding-left : 20px; padding-top : 10px;"> — ' . $LNG['fleet_deploy_12'] . ' ' . date('d/m/Y H:i:s', TIMESTAMP) . '<br> — ' . $LNG['fleet_deploy_13'] . ' : Home001 [' . $this->_fleet['fleet_start_system'] . ':' . $this->_fleet['fleet_start_planet'] . ']<br> — ' . $LNG['fleet_deploy_14'] . ' : Base Alpha 5 [' . $this->_fleet['fleet_end_system'] . ':' . $this->_fleet['fleet_end_planet'] . '] <br> </div> </div> <h3>' . $LNG['fleet_deploy_7'] . ' :</h3> <div class="conteneur_item" style="margin-top : 5px;"> <div class="element_item"> <img src="/media/ingame/image/metal.jpg"> ' . $LNG['tech'][901] . ' : <span class="orange">' . pretty_number($this->_fleet['fleet_resource_metal']) . '</span> ' . $LNG['lm_achat_units'] . ' </div> <div class="element_item"> <img src="/media/ingame/image/oro.jpg"> ' . $LNG['tech'][902] . ' : <span class="orange">' . pretty_number($this->_fleet['fleet_resource_crystal']) . '</span> ' . $LNG['lm_achat_units'] . ' </div> <div class="element_item"> <img src="/media/ingame/image/crystal.jpg"> ' . $LNG['tech'][903] . ' : <span class="orange">' . pretty_number($this->_fleet['fleet_resource_deuterium']) . '</span> ' . $LNG['lm_achat_units'] . ' </div> <div class="element_item"> <img src="/media/ingame/image/elyrium.jpg"> ' . $LNG['tech'][904] . ' : <span class="orange">' . pretty_number($this->_fleet['fleet_resource_elyrium']) . '</span> ' . $LNG['lm_achat_units'] . ' </div> </div> <div class="explication_utilisateur"> ' . $LNG['fleet_deploy_15'] . ' </div>'; SendSimpleMessage($TargetUserID, 0, $this->_fleet['fleet_start_time'], 7, $LNG['sys_mess_tower_deploy_good'], $LNG['sys_stat_mess_stay'], $TargetMessage); $this->RestoreFleet(false); }
public function show() { global $USER, $PLANET, $resource, $pricelist, $reslist, $LNG; $targetGalaxy = HTTP::_GP('galaxy', (int) $PLANET['galaxy']); $targetSystem = HTTP::_GP('system', (int) $PLANET['system']); $targetPlanet = HTTP::_GP('planet', (int) $PLANET['planet']); $targetType = HTTP::_GP('type', (int) $PLANET['planet_type']); $mission = HTTP::_GP('target_mission', 0); $Fleet = array(); $FleetRoom = 0; $allyInfo = $GLOBALS['DATABASE']->query("SELECT FleetCapa FROM `uni1_alliance` WHERE id = " . $USER['ally_id'] . ";"); $allyInfo = $GLOBALS['DATABASE']->fetch_array($allyInfo); $listorder = array(210, 212, 202, 203, 204, 205, 229, 209, 206, 207, 208, 217, 215, 213, 211, 220, 224, 219, 223, 225, 226, 214, 216, 230, 227, 228, 222, 218, 221); foreach ($listorder as $id => $ShipID) { $amount = max(0, round(HTTP::_GP('ship' . $ShipID, 0.0, 0.0))); if ($amount < 1 || $ShipID == 212) { continue; } $Fleet[$ShipID] = $amount; $FleetRoom += $pricelist[$ShipID]['capacity'] * $amount; $FleetRoom += $FleetRoom / 100 * getbonusOneBis(1207, $USER['academy_1207']) + $FleetRoom / 100 * $allyInfo['FleetCapa']; } foreach ($Fleet as $Ship => $Count) { if ($Count > $PLANET[$resource[$Ship]]) { $this->printMessage($LNG['fl_not_all_ship_avalible']); } } $FleetRoom *= 1 + $USER['factor']['ShipStorage']; if (empty($Fleet)) { FleetFunctions::GotoFleetPage(); } $FleetData = array('fleetroom' => floattostring($FleetRoom), 'gamespeed' => FleetFunctions::GetGameSpeedFactor(), 'fleetspeedfactor' => max(0, 1 + $USER['factor']['FlyTime']), 'planet' => array('galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'planet_type' => $PLANET['planet_type']), 'maxspeed' => FleetFunctions::GetFleetMaxSpeed($Fleet, $USER), 'ships' => FleetFunctions::GetFleetShipInfo($Fleet, $USER), 'fleetMinDuration' => MIN_FLEET_TIME); $token = getRandomString(); $_SESSION['fleet'][$token] = array('time' => TIMESTAMP, 'fleet' => $Fleet, 'fleetRoom' => $FleetRoom); $shortcutList = $this->GetUserShotcut(); $colonyList = $this->GetColonyList(); $ACSList = $this->GetAvalibleACS(); if (!empty($shortcutList)) { $shortcutAmount = max(array_keys($shortcutList)); } else { $shortcutAmount = 0; } $this->tplObj->loadscript('flotten.js'); $this->tplObj->execscript('updateVars();FleetTime();window.setInterval("FleetTime()", 1000);'); $this->tplObj->assign_vars(array('token' => $token, 'mission' => $mission, 'shortcutList' => $shortcutList, 'shortcutMax' => $shortcutAmount, 'colonyList' => $colonyList, 'ACSList' => $ACSList, 'galaxy' => $targetGalaxy, 'system' => $targetSystem, 'planet' => $targetPlanet, 'type' => $targetType, 'speedSelect' => FleetFunctions::$allowedSpeed, 'typeSelect' => array(1 => $LNG['type_planet'][1], 2 => $LNG['type_planet'][2], 3 => $LNG['type_planet'][3], 4 => $LNG['type_planet'][4]), 'fleetdata' => $FleetData)); $this->display('page.fleetStep1.default.tpl'); }
function TargetEvent() { $senderUser = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . USERS . " WHERE id = " . $this->_fleet['fleet_owner'] . ";"); $senderUser['factor'] = getFactors($senderUser, 'basic', $this->_fleet['fleet_start_time']); $fleetArray = fleetAmountToArray($this->_fleet['fleet_array']); $duration = $this->_fleet['fleet_start_time'] - $this->_fleet['start_time']; require_once 'includes/classes/class.FleetFunctions.php'; $fleetMaxSpeed = FleetFunctions::GetFleetMaxSpeed($fleetArray, $senderUser); $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $distance = FleetFunctions::GetTargetDistance(array($this->_fleet['fleet_start_galaxy'], $this->_fleet['fleet_start_system'], $this->_fleet['fleet_start_planet']), array($this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet'])); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $duration, $distance, $fleetMaxSpeed, $senderUser, $SpeedFactor); $this->UpdateFleet('fleet_resource_deuterium', $this->_fleet['fleet_resource_deuterium'] + $consumption / 2); $LNG = $this->getLanguage($senderUser['lang']); $TargetUserID = $this->_fleet['fleet_target_owner']; $TargetMessage = sprintf($LNG['sys_stat_mess'], GetTargetAdressLink($this->_fleet, ''), pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901], pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902], pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]); SendSimpleMessage($TargetUserID, 0, $this->_fleet['fleet_start_time'], 5, $LNG['sys_mess_tower'], $LNG['sys_stat_mess_stay'], $TargetMessage); $this->RestoreFleet(false); }
function mission() { global $LNG, $ProdGrid, $resource, $reslist, $CONF, $pricelist, $USER, $PLANET; require_once 'includes/classes/class.FleetFunctions.php'; $cmdd = HTTP::_GP('cmdd', ''); $missionDescription = ''; if ($cmdd == 'deploy') { $missionDescription = "Par le biais de cette mission, vous pouvez baser des ressources, du matériel et de la population uniquement sur une des planètes de votre empire. \n Contrairement à la mission « Transporter des ressources et/ou du matériel », les vaisseaux qui constituent la flotte envoyée ne reviendront pas \n sur la planète de départ. En effet, ils resteront sur la planète de destination (<i>un aller simple sans retour</i>).<br><br>\n Bien entendu, il est nécessaire de développer les soutes de vos vaisseaux pour pouvoir baser une grande quantité de marchandises."; } elseif ($cmdd == 'transport') { $missionDescription = "Par le biais de cette mission, vous pouvez transporter des ressources, du matériel et de la population sur une de vos planètes ou celle d'un allié. \n Une fois la mission effectuée, les vaisseaux qui constituent votre flotte reviendront sur la planète de départ.<br><br>\n Pour pouvoir envoyer des ressources et/ou du matériel à un autre joueur, vous devez auparavant envoyer un pacte à celui-ci. \n C'est seulement une fois le pacte signé que vous pourrez effectuer des transferts."; } elseif ($cmdd == 'colonise') { $missionDescription = "Il est très important de coloniser d'autres planètes, cela permet d'accélérer le développement de votre empire\n puisque vous posséderez plus de matière première, et des bâtiments miniers en plus grand nombre. Ainsi votre production\n de ressources sera plus conséquente. Il y a aussi un autre avantage, vous pourrez régner sur une plus grande partie de l'univers.<br><br>\n Pour effectuer cette mission, vous devez posséder au moins 10 scientifiques, et 100 soldats. \n Faites attention à la position de vos colonies car vous pouvez coloniser que 9 planètes en plus de votre planète mère. \n Les planètes sont colonisables du système solaire 1 à 2 700 inclus."; } elseif ($cmdd == 'contact') { $missionDescription = "Les pactes sont très utiles pour faire du commerce avec les autres joueurs de cet univers. Il n'est pas possible d'échanger des ressources \n et/ou du matériel, si vous ne possédez pas de pacte signé avec le joueur concerné.<br><br>Cette mission permet d'envoyer un contingent \n de 5 diplomates et 10 soldats pour rencontrer les dirigeants de la planète indiquée par les coordonnées renseignées."; } elseif ($cmdd == 'recycle') { $missionDescription = "Si une bataille spatiale vient de se produire et que vous souhaitez recycler les ruines des vaisseaux détruits en orbite, alors, \n il suffit d'envoyer vos vaisseaux ruines vers la planète en question. Ces vaisseaux particuliers ne nécessitent pas d'avoir un équipage.<br><br>\n Une fois en orbite autour de cette planète, ils recycleront les diverses ruines pour les transformer en ressources expoitables par votre peuple."; } elseif ($cmdd == 'deployfleets') { $missionDescription = "Par le biais de cette mission, vous pouvez baser des vaisseaux ruines sur une de vos planètes ou celle d'un allié. Si vous envoyez vos vaisseaux \n ruines chez un allié, vous en perdrez le contrôle.<br><br>Pour pouvoir envoyer des vaisseaux ruines à un autre joueur, vous devez auparavant \n envoyer un pacte à celui-ci. C'est seulement une fois le pacte signé que vous pourrez effectuer le basement."; } elseif ($cmdd == 'probe') { $missionDescription = "Un voisin vous inquiète, vous avez peur qu’il vous attaque ou bien il vous espionne régulièrement. Faites de même, envoyez vos sondes spatiales \n vers ses planètes afin de découvrir les mystères qu’il cache chez lui. <br><br>Vous devez disposer d'une sonde spatiale pour effectuer cette mission. \n De plus, il est possible de faire retour une fois la mission lancée, dans ce cas, la sonde spatiale revient à la base.<br><br>\n Il est impossible de modifier la quantité de sonde à envoyer dans le formulaire ci-dessous."; } elseif ($cmdd == 'attack') { $missionDescription = "La puissance d'un empire se mesure à la puissance de sa flotte. Cependant, certaines flottes puissantes peuvent être détruites facilement suite à une mauvaise stratégie. \n Montrez aux autres peuples qui vivent dans cette galaxie qu'il ne suffit pas d'avoir la plus grande flotte, il faut aussi savoir s'en servir convenablement.<br><br>\n Utilisez votre flotte pour détruire et mettre en ruine celles des autres peuples, utilisez-là intelligement pour lutter contre des empires plus puissants que vous. \n La stratégie et votre palmarés de combat feront de vous le peuple le plus respecté de cette univers."; } $colonyList = $this->GetColonyList(); $FleetsOnPlanet = array(); foreach ($reslist['fleet'] as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanet[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } $PopulationOnPlanet = array(); foreach ($reslist['population'] as $populationID) { if ($PLANET[$resource[$populationID]] == 0) { continue; } $PopulationOnPlanet[] = array('id' => $populationID, 'count' => $PLANET[$resource[$populationID]]); } $this->tplObj->loadscript('flotten.js'); $this->tplObj->assign_vars(array('missionDescription' => $missionDescription, 'colonyList' => $colonyList, 'FleetsOnPlanet' => $FleetsOnPlanet, 'PopulationOnPlanet' => $PopulationOnPlanet)); $this->display('page.center.mission.tpl'); }
public function show() { global $USER, $PLANET, $pricelist, $reslist, $LNG; $targetGalaxy = HTTP::_GP('galaxy', (int) $PLANET['galaxy']); $targetSystem = HTTP::_GP('system', (int) $PLANET['system']); $targetPlanet = HTTP::_GP('planet', (int) $PLANET['planet']); $targetType = HTTP::_GP('type', (int) $PLANET['planet_type']); $mission = HTTP::_GP('target_mission', 0); $Fleet = array(); $FleetRoom = 0; foreach ($reslist['fleet'] as $id => $ShipID) { $amount = max(0, round(HTTP::_GP('ship' . $ShipID, 0.0, 0.0))); if ($amount < 1 || $ShipID == 212) { continue; } $Fleet[$ShipID] = $amount; $FleetRoom += $pricelist[$ShipID]['capacity'] * $amount; } $FleetRoom *= 1 + $USER['factor']['ShipStorage']; if (empty($Fleet)) { FleetFunctions::GotoFleetPage(); } $FleetData = array('fleetroom' => floatToString($FleetRoom), 'gamespeed' => FleetFunctions::GetGameSpeedFactor(), 'fleetspeedfactor' => max(0, 1 + $USER['factor']['FlyTime']), 'planet' => array('galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'planet_type' => $PLANET['planet_type']), 'maxspeed' => FleetFunctions::GetFleetMaxSpeed($Fleet, $USER), 'ships' => FleetFunctions::GetFleetShipInfo($Fleet, $USER), 'fleetMinDuration' => MIN_FLEET_TIME); $token = getRandomString(); $_SESSION['fleet'][$token] = array('time' => TIMESTAMP, 'fleet' => $Fleet, 'fleetRoom' => $FleetRoom); $shortcutList = $this->GetUserShotcut(); $colonyList = $this->GetColonyList(); $ACSList = $this->GetAvalibleACS(); if (!empty($shortcutList)) { $shortcutAmount = max(array_keys($shortcutList)); } else { $shortcutAmount = 0; } $this->tplObj->loadscript('flotten.js'); $this->tplObj->execscript('updateVars();FleetTime();window.setInterval("FleetTime()", 1000);'); $this->assign(array('token' => $token, 'mission' => $mission, 'shortcutList' => $shortcutList, 'shortcutMax' => $shortcutAmount, 'colonyList' => $colonyList, 'ACSList' => $ACSList, 'galaxy' => $targetGalaxy, 'system' => $targetSystem, 'planet' => $targetPlanet, 'type' => $targetType, 'speedSelect' => FleetFunctions::$allowedSpeed, 'typeSelect' => array(1 => $LNG['type_planet'][1], 2 => $LNG['type_planet'][2], 3 => $LNG['type_planet'][3]), 'fleetdata' => $FleetData)); $this->display('page.fleetStep1.default.tpl'); }
public function show() { global $USER, $PLANET, $resource, $LNG, $CONF, $pricelist; $UserDeuterium = $PLANET['elyrium']; $planetID = HTTP::_GP('planetID', 0); $targetMission = HTTP::_GP('mission', 0); $select = HTTP::_GP('select', 0); if (IsVacationMode($USER)) { $this->sendData(620, $LNG['fa_vacation_mode_current']); } $fleetArray = array(); switch ($targetMission) { case 13: if (!isModulAvalible(MODULE_MISSION_ATTACK)) { $this->sendData('rouge', $LNG['sys_module_inactive']); } $GetuserComp = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_fleets_manage` WHERE userID = " . $USER['id'] . " AND manageID = " . $select . ";"); $num_rows = $GLOBALS['DATABASE']->numRows($GetuserComp); if ($num_rows == 0) { $this->sendData('rouge', 'You need to create a fleet shortcut first'); } else { while ($xb = $GLOBALS['DATABASE']->fetch_array($GetuserComp)) { $ship202 = min($xb['ship202'], $PLANET[$resource[202]]); $ship203 = min($xb['ship203'], $PLANET[$resource[203]]); $ship204 = min($xb['ship204'], $PLANET[$resource[204]]); $ship205 = min($xb['ship205'], $PLANET[$resource[205]]); $ship206 = min($xb['ship206'], $PLANET[$resource[206]]); $ship207 = min($xb['ship207'], $PLANET[$resource[207]]); $ship211 = min($xb['ship211'], $PLANET[$resource[211]]); $ship214 = min($xb['ship214'], $PLANET[$resource[214]]); $ship215 = min($xb['ship215'], $PLANET[$resource[215]]); $ship216 = min($xb['ship216'], $PLANET[$resource[216]]); if (empty($ship202) && $xb['ship202'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship203) && $xb['ship203'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship204) && $xb['ship204'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship205) && $xb['ship205'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship206) && $xb['ship206'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship207) && $xb['ship207'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship211) && $xb['ship211'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship214) && $xb['ship214'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship215) && $xb['ship215'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship216) && $xb['ship216'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } $fleetArray = array(202 => $ship202, 203 => $ship203, 204 => $ship204, 205 => $ship205, 206 => $ship206, 207 => $ship207, 211 => $ship211, 214 => $ship214, 215 => $ship215, 216 => $ship216); $this->returnData['ships'][202] = $PLANET[$resource[202]] - $ship202; $this->returnData['ships'][203] = $PLANET[$resource[203]] - $ship203; $this->returnData['ships'][204] = $PLANET[$resource[204]] - $ship204; $this->returnData['ships'][205] = $PLANET[$resource[205]] - $ship205; $this->returnData['ships'][206] = $PLANET[$resource[206]] - $ship206; $this->returnData['ships'][207] = $PLANET[$resource[207]] - $ship207; $this->returnData['ships'][211] = $PLANET[$resource[211]] - $ship211; $this->returnData['ships'][214] = $PLANET[$resource[214]] - $ship214; $this->returnData['ships'][215] = $PLANET[$resource[215]] - $ship215; $this->returnData['ships'][216] = $PLANET[$resource[216]] - $ship216; } } break; default: $this->sendData('rouge', $LNG['fleet_ajax_2']); break; } $fleetArray = array_filter($fleetArray); if (empty($fleetArray)) { $this->sendData('rouge', $LNG['fleet_ajax_2']); } $targetData = $GLOBALS['DATABASE']->getFirstRow("SELECT planet.id_owner as id_owner, \n\t\t\t\t\t\t\t\t\t\tplanet.id as id, \n\t\t\t\t\t\t\t\t\t\tplanet.name as name, \n\t\t\t\t\t\t\t\t\t\tplanet.galaxy as galaxy, \n\t\t\t\t\t\t\t\t\t\tplanet.system as system, \n\t\t\t\t\t\t\t\t\t\tplanet.planet as planet,\n\t\t\t\t\t\t\t\t\t\tplanet.planet_type as planet_type, \n\t\t\t\t\t\t\t\t\t\tplanet.teleport_portal as teleport_portal, \n\t\t\t\t\t\t\t\t\t\tplanet.force_field_timer as force_field_timer, \n\t\t\t\t\t\t\t\t\t\ttotal_points, onlinetime, urlaubs_modus, banaday, forcefield_tech, authattack, user_deleted, username\n\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . " planet\n\t\t\t\t\t\t\t\t\t\tINNER JOIN " . USERS . " user ON planet.id_owner = user.id\n\t\t\t\t\t\t\t\t\t\tLEFT JOIN " . STATPOINTS . " as stat ON stat.id_owner = user.id AND stat.stat_type = '1' \n\t\t\t\t\t\t\t\t\t\tWHERE planet.id = " . $planetID . ";"); $BuddyCheck = $GLOBALS['DATABASE']->query("SELECT * FROM uni1_buddy WHERE (sender = '" . $USER['id'] . "' AND owner = '" . $targetData['id_owner'] . "' AND state = '1') OR (owner = '" . $USER['id'] . "' AND sender = '" . $targetData['id_owner'] . "' AND state = '1');"); if (empty($targetData)) { $this->sendData('rouge', $LNG['fa_planet_not_exist']); } if ($targetMission == 1 || $targetMission == 6 || $targetMission == 3 || $targetMission == 14 || $targetMission == 13) { $ipCheck = $GLOBALS['DATABASE']->query("SELECT userID, secondID FROM uni1_ipblock WHERE userID = " . $USER['id'] . " OR secondID = '" . $USER['id'] . "';"); if ($GLOBALS['DATABASE']->numRows($ipCheck) > 0) { while ($xb = $GLOBALS['DATABASE']->fetch_array($ipCheck)) { if ($targetData['id_owner'] == $xb['userID'] || $targetData['id_owner'] == $xb['secondID']) { $this->sendData('rouge', '<span class=rouge>' . sprintf($LNG['fleet_multi_block'], $this->getUsername($targetData['id_owner'])) . '</span>'); } } } if ($GLOBALS['DATABASE']->numRows($BuddyCheck) >= 1) { $this->sendData('rouge', sprintf($LNG['fleet_pact'], $this->getUsername($targetData['id_owner']))); } } if ($targetMission == 13) { if ($targetMission == 13) { if (FleetFunctions::CheckBashPortal($targetData['id_owner'])) { $this->sendData('rouge', $LNG['fl_bash_protection']); } } if ($targetData['id_owner'] == $USER['id']) { $this->sendData('rouge', $LNG['fleet_ajax_19']); } if ($targetData['force_field_timer'] > TIMESTAMP && $USER['virus_tech'] < $targetData['forcefield_tech']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_21'], $this->getUsername($targetData['id_owner']))); } if ($targetData['teleport_portal'] == 0) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_18'], $targetData['name'], $targetData['system'], $targetData['planet'])); } if (FleetFunctions::CheckBashPortal($targetData['id'])) { $this->sendData('rouge', $LNG['fl_bash_protection']); } if ($targetData['user_deleted'] == 1) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_3'], $targetData['username'])); } if ($targetData['banaday'] > TIMESTAMP) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_4'], $targetData['username'])); } if (Config::get('adm_attack') == 1 && $targetData['authattack'] > $USER['authlevel']) { $this->sendData('rouge', $LNG['fa_action_not_allowed']); } if (IsVacationMode($targetData)) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_5'], $targetData['username'])); } $IsNoobProtec = CheckNoobProtec($USER, $targetData, $targetData); if ($IsNoobProtec['NoobPlayer']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_6'], $targetData['username'])); } if ($IsNoobProtec['StrongPlayer']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_7'], $targetData['username'])); } if ($USER['id'] == $targetData['id_owner']) { $this->sendData('rouge', $LNG['fleet_ajax_8']); } } if (connection_aborted()) { exit; } $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $Distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($targetData['galaxy'], $targetData['system'], $targetData['planet'])); $SpeedAllMin = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $Duration = 1; $consumption = 0; $fleetRessource = array(901 => 0, 902 => 0, 903 => 0, 904 => 0); $fleetPopulation = array(301 => 0, 302 => 0, 303 => 0, 304 => 0, 305 => 0, 306 => 0, 307 => 0, 309 => 0); $fleetStartTime = $Duration + TIMESTAMP; $fleetStayTime = $fleetStartTime; $fleetEndTime = $fleetStayTime + 1; $shipID = array_keys($fleetArray); FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetData['id_owner'], $targetData['id'], $targetData['galaxy'], $targetData['system'], $targetData['planet'], $targetData['planet_type'], $fleetRessource, $fleetPopulation, $fleetStartTime, $fleetStayTime, $fleetEndTime); //$finalMsg = sprintf($LNG['fleet_ajax_17'], $targetData['name'], $targetData['system'],$targetData['planet'],$this->getUsername($targetData['id_owner'])); $finalMsg = sprintf($LNG['fleet_ajax_20'], $targetData['name'], $targetData['system'], $targetData['planet'], $this->getUsername($targetData['id_owner'])); $this->sendData('vert', $finalMsg); }
function show() { global $USER, $PLANET, $LNG, $UNI, $resource, $reslist; //if($USER['id'] != 1){ // $this->printMessage('This page is under maintenance', true, array('game.php?page=overview', 4)); //} $PlanetRess = new ResourceUpdate(); $this->tplObj->loadscript('flotten.js'); $stats_sql = 'SELECT DISTINCT p.* FROM ' . PLANETS . ' as p WHERE p.`universe` = ' . $UNI . ' AND destruyed = 0 AND p.`id_owner` = ' . $USER['id'] . ' AND p.`id` != ' . $PLANET['id'] . ' ;'; $query = $GLOBALS['DATABASE']->query($stats_sql); $RangeList = array(); while ($StatRow = $GLOBALS['DATABASE']->fetch_array($query)) { list($USER, $StatRow) = $PlanetRess->CalcResource($USER, $StatRow, true); $GameSpeedFactor = FleetFunctions::GetGameSpeedFactor(); $MaxFleetSpeed = FleetFunctions::GetFleetMaxSpeed(217, $USER); $distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($StatRow['galaxy'], $StatRow['system'], $StatRow['planet'])); $duration = FleetFunctions::GetMissionDuration(10, $MaxFleetSpeed, $distance, $GameSpeedFactor, $USER); $needed_ships = round(($StatRow['metal'] + $StatRow['crystal'] + $StatRow['deuterium']) / 390000000); if ($needed_ships == 0) { $needed_ships = 1; } $RangeList[] = array('name' => $StatRow['name'], 'id' => $StatRow['id'], 'galaxy' => $StatRow['galaxy'], 'system' => $StatRow['system'], 'planet' => $StatRow['planet'], 'metal' => pretty_number($StatRow['metal']), 'crystal' => pretty_number($StatRow['crystal']), 'deuterium' => pretty_number($StatRow['deuterium']), 'ev_transporter' => pretty_number($StatRow['ev_transporter']), 'duration' => gmdate("H:i:s", round($duration)), 'needed_ships' => $needed_ships, 'needed_ships1' => pretty_number($needed_ships)); } $this->tplObj->assign_vars(array('RangeList' => $RangeList)); $this->display('page.reduceresources.default.tpl'); }
public function show() { global $USER, $PLANET, $reslist, $resource, $LNG; $acsData = array(); $FleetID = HTTP::_GP('fleetID', 0); $GetAction = HTTP::_GP('action', ""); $this->tplObj->loadscript('flotten.js'); if (!empty($FleetID) && !IsVacationMode($USER)) { switch ($GetAction) { case "sendfleetback": FleetFunctions::SendFleetBack($USER, $FleetID); break; case "acs": $acsData = $this->getACSPageData($FleetID); break; } } $techExpedition = $USER[$resource[124]]; if ($techExpedition >= 1) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 15); $maxExpedition = floor(sqrt($techExpedition)); } else { $activeExpedition = 0; $maxExpedition = 0; } $maxFleetSlots = FleetFunctions::GetMaxFleetSlots($USER); $targetGalaxy = HTTP::_GP('galaxy', (int) $PLANET['galaxy']); $targetSystem = HTTP::_GP('system', (int) $PLANET['system']); $targetPlanet = HTTP::_GP('planet', (int) $PLANET['planet']); $targetType = HTTP::_GP('planettype', (int) $PLANET['planet_type']); $targetMission = HTTP::_GP('target_mission', 0); $fleetResult = $GLOBALS['DATABASE']->query("SELECT * FROM " . FLEETS . " WHERE fleet_owner = " . $USER['id'] . " AND fleet_mission <> 10 ORDER BY fleet_end_time ASC;"); $activeFleetSlots = $GLOBALS['DATABASE']->numRows($fleetResult); $FlyingFleetList = array(); while ($fleetsRow = $GLOBALS['DATABASE']->fetch_array($fleetResult)) { $fleet = explode(";", $fleetsRow['fleet_array']); $FleetList = array(); foreach ($fleet as $shipDetail) { if (empty($shipDetail)) { continue; } $ship = explode(",", $shipDetail); $FleetList[$fleetsRow['fleet_id']][$ship[0]] = $ship[1]; } if ($fleetsRow['fleet_mission'] == 4 && $fleetsRow['fleet_mess'] == FLEET_OUTWARD) { $returnTime = $fleetsRow['fleet_start_time']; } else { $returnTime = $fleetsRow['fleet_end_time']; } $FlyingFleetList[] = array('id' => $fleetsRow['fleet_id'], 'mission' => $fleetsRow['fleet_mission'], 'state' => $fleetsRow['fleet_mess'], 'startGalaxy' => $fleetsRow['fleet_start_galaxy'], 'startSystem' => $fleetsRow['fleet_start_system'], 'startPlanet' => $fleetsRow['fleet_start_planet'], 'startTime' => _date($LNG['php_tdformat'], $fleetsRow['fleet_start_time'], $USER['timezone']), 'endGalaxy' => $fleetsRow['fleet_end_galaxy'], 'endSystem' => $fleetsRow['fleet_end_system'], 'endPlanet' => $fleetsRow['fleet_end_planet'], 'endTime' => _date($LNG['php_tdformat'], $fleetsRow['fleet_end_time'], $USER['timezone']), 'amount' => pretty_number($fleetsRow['fleet_amount']), 'returntime' => $returnTime, 'resttime' => $returnTime - TIMESTAMP, 'FleetList' => $FleetList[$fleetsRow['fleet_id']]); } $GLOBALS['DATABASE']->free_result($fleetResult); $FleetsOnPlanet = array(); $FleetsOnPlanetTransport = array(); $FleetsOnPlanetProccesors = array(); $FleetsOnPlanetSpecial = array(); $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); $elementPlanet = array(204, 205, 229, 206, 207, 215, 213, 211, 224, 225, 226, 214, 216, 230, 227, 228, 218, 222, 221); $elementPlanetTransport = array(202, 203, 217); $elementPlanetProccesors = array(209, 219); $elementPlanetSpecial = array(208, 210, 220, 223); $getch3 = $GLOBALS['DATABASE']->query("SELECT SUM(" . $PLANET[$resource[202]] . " + " . $PLANET[$resource[203]] . " + " . $PLANET[$resource[204]] . " + " . $PLANET[$resource[205]] . " + " . $PLANET[$resource[206]] . " + " . $PLANET[$resource[207]] . " + " . $PLANET[$resource[208]] . " + " . $PLANET[$resource[209]] . " + " . $PLANET[$resource[210]] . " + " . $PLANET[$resource[211]] . " + " . $PLANET[$resource[212]] . " + " . $PLANET[$resource[213]] . " + " . $PLANET[$resource[214]] . " + " . $PLANET[$resource[215]] . " + " . $PLANET[$resource[216]] . " + " . $PLANET[$resource[217]] . " + " . $PLANET[$resource[218]] . " + " . $PLANET[$resource[219]] . " + " . $PLANET[$resource[220]] . " + " . $PLANET[$resource[221]] . " + " . $PLANET[$resource[222]] . " + " . $PLANET[$resource[223]] . " + " . $PLANET[$resource[224]] . " + " . $PLANET[$resource[225]] . " + " . $PLANET[$resource[226]] . " + " . $PLANET[$resource[227]] . " + " . $PLANET[$resource[228]] . ") as fleet3 FROM " . PLANETS . " where `id` = '" . $PLANET['id'] . "'"); while ($x3 = $GLOBALS['DATABASE']->fetch_array($getch3)) { $resp3 = $x3['fleet3']; } $getch = $GLOBALS['DATABASE']->query("SELECT SUM(" . $PLANET[$resource[202]] . " + " . $PLANET[$resource[203]] . " + " . $PLANET[$resource[217]] . ") as fleet FROM " . PLANETS . " where `id` = '" . $PLANET['id'] . "'"); while ($x = $GLOBALS['DATABASE']->fetch_array($getch)) { $resp = $x['fleet']; } $getch1 = $GLOBALS['DATABASE']->query("SELECT SUM(" . $PLANET[$resource[209]] . " + " . $PLANET[$resource[219]] . ") as fleet1 FROM " . PLANETS . " where `id` = '" . $PLANET['id'] . "'"); while ($x1 = $GLOBALS['DATABASE']->fetch_array($getch1)) { $resp1 = $x1['fleet1']; } $getch2 = $GLOBALS['DATABASE']->query("SELECT SUM(" . $PLANET[$resource[208]] . " + " . $PLANET[$resource[210]] . " + " . $PLANET[$resource[220]] . " + " . $PLANET[$resource[223]] . ") as fleet2 FROM " . PLANETS . " where `id` = '" . $PLANET['id'] . "'"); while ($x2 = $GLOBALS['DATABASE']->fetch_array($getch2)) { $resp2 = $x2['fleet2']; } $xxx = $resp2; $ttt = $resp; if ($targetMission != 12) { foreach ($elementPlanet as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanet[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } foreach ($elementPlanetTransport as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanetTransport[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } } foreach ($elementPlanetProccesors as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanetProccesors[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } foreach ($elementPlanetSpecial as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanetSpecial[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } $SC = round(($PLANET['metal'] + $PLANET['crystal'] + $PLANET['deuterium']) / 5000); $LC = round(($PLANET['metal'] + $PLANET['crystal'] + $PLANET['deuterium']) / 25000); $UT = round(($PLANET['metal'] + $PLANET['crystal'] + $PLANET['deuterium']) / 400000000); $GR = round(($PLANET['metal'] + $PLANET['crystal'] + $PLANET['deuterium']) / 200000000); $REC = round(($PLANET['metal'] + $PLANET['crystal'] + $PLANET['deuterium']) / 20000); $this->tplObj->assign_vars(array('FleetsOnPlanet' => $FleetsOnPlanet, 'FleetsOnPlanetTransport' => $FleetsOnPlanetTransport, 'FleetsOnPlanetProccesors' => $FleetsOnPlanetProccesors, 'FleetsOnPlanetSpecial' => $FleetsOnPlanetSpecial, 'FlyingFleetList' => $FlyingFleetList, 'activeExpedition' => $activeExpedition, 'maxExpedition' => $maxExpedition, 'activeFleetSlots' => $activeFleetSlots, 'maxFleetSlots' => $maxFleetSlots, 'targetGalaxy' => $targetGalaxy, 'targetSystem' => $targetSystem, 'targetPlanet' => $targetPlanet, 'targetType' => $targetType, 'targetMission' => $targetMission, 'acsData' => $acsData, 'isVacation' => IsVacationMode($USER), 'bonusAttack' => $USER[$resource[109]] + getbonusOne(1102, $USER['academy_1102']) + getbonusOne(1101, $USER['academy_1101']) + abs($USER['factor']['Attack']) * 100, 'bonusDefensive' => $USER[$resource[110]] + abs($USER['factor']['Defensive']) * 100, 'bonusShield' => $USER[$resource[111]] + abs($USER['factor']['Shield']) * 100, 'bonusCombustion' => $USER[$resource[115]] * 10, 'bonusImpulse' => $USER[$resource[117]] * 20, 'bonusHyperspace' => $USER[$resource[118]] * 30, 'sc' => $SC, 'lc' => $LC, 'ut' => $UT, 'gr' => $GR, 'rec' => $REC, 'resp' => $resp, 'resp1' => $resp1, 'xxx' => $xxx, 'ttt' => $ttt, 'resp3' => $resp3)); $this->display('page.fleetTable.default.tpl'); }
function show() { global $USER, $PLANET, $LNG, $UNI; $this->tplObj->loadscript('flotten.js'); $stats_sql = 'SELECT DISTINCT p.* FROM ' . PLANETS . ' as p WHERE p.`universe` = ' . $UNI . ' AND destruyed = 0 AND p.`id_owner` = ' . $USER['id'] . ' AND p.`id` != ' . $PLANET['id'] . ' ;'; $query = $GLOBALS['DATABASE']->query($stats_sql); $RangeList = array(); while ($StatRow = $GLOBALS['DATABASE']->fetch_array($query)) { $slowestShip = 202; if ($StatRow['small_ship_cargo'] > 0) { $slowestShip = 202; } elseif ($StatRow['big_ship_cargo'] > 0) { $slowestShip = 203; } elseif ($StatRow['light_hunter'] > 0) { $slowestShip = 204; } elseif ($StatRow['heavy_hunter'] > 0) { $slowestShip = 205; } elseif ($StatRow['crusher'] > 0) { $slowestShip = 206; } elseif ($StatRow['battle_ship'] > 0) { $slowestShip = 207; } elseif ($StatRow['recycler'] > 0) { $slowestShip = 209; } elseif ($StatRow['bomber_ship'] > 0) { $slowestShip = 211; } elseif ($StatRow['destructor'] > 0) { $slowestShip = 213; } elseif ($StatRow['battleship'] > 0) { $slowestShip = 215; } elseif ($StatRow['galleon'] > 0) { $slowestShip = 225; } elseif ($StatRow['destroyer'] > 0) { $slowestShip = 226; } elseif ($StatRow['frigate'] > 0) { $slowestShip = 227; } elseif ($StatRow['black_wanderer'] > 0) { $slowestShip = 228; } $GameSpeedFactor = FleetFunctions::GetGameSpeedFactor(); $MaxFleetSpeed = FleetFunctions::GetFleetMaxSpeed($slowestShip, $USER); $distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($StatRow['galaxy'], $StatRow['system'], $StatRow['planet'])); $duration = FleetFunctions::GetMissionDuration(10, $MaxFleetSpeed, $distance, $GameSpeedFactor, $USER); $RangeList[] = array('name' => $StatRow['name'], 'id' => $StatRow['id'], 'galaxy' => $StatRow['galaxy'], 'system' => $StatRow['system'], 'planet' => $StatRow['planet'], 'metal' => pretty_number($StatRow['metal']), 'crystal' => pretty_number($StatRow['crystal']), 'deuterium' => pretty_number($StatRow['deuterium']), 'duration' => gmdate("H:i:s", round($duration)), 'small_ship_cargo' => pretty_number($StatRow['small_ship_cargo']), 'big_ship_cargo' => pretty_number($StatRow['big_ship_cargo']), 'light_hunter' => pretty_number($StatRow['light_hunter']), 'heavy_hunter' => pretty_number($StatRow['heavy_hunter']), 'crusher' => pretty_number($StatRow['crusher']), 'battle_ship' => pretty_number($StatRow['battle_ship']), 'recycler' => pretty_number($StatRow['recycler']), 'bomber_ship' => pretty_number($StatRow['bomber_ship']), 'destructor' => pretty_number($StatRow['destructor']), 'battleship' => pretty_number($StatRow['battleship']), 'galleon' => pretty_number($StatRow['galleon']), 'destroyer' => pretty_number($StatRow['destroyer']), 'frigate' => pretty_number($StatRow['frigate']), 'black_wanderer' => pretty_number($StatRow['black_wanderer']), 'lune_noir' => pretty_number($StatRow['lune_noir'])); } $this->tplObj->assign_vars(array('RangeList' => $RangeList)); $this->display('page.reducefleets.default.tpl'); }
public function show() { global $USER, $PLANET, $resource, $pricelist, $reslist, $LNG; $PlanetCount = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . PLANETS . " WHERE id != " . $PLANET['id'] . " AND id_owner = " . $USER['id'] . " AND destruyed = 0;"); $targetGalaxy = HTTP::_GP('galaxy', ''); $targetSystem = HTTP::_GP('system', ''); $targetPlanet = HTTP::_GP('planet', ''); $targetType = HTTP::_GP('type', (int) $PLANET['planet_type']); $mission = HTTP::_GP('target_mission', 0); $missionText = ''; $missionDesc = ''; if ($mission != 0) { $missionText = $LNG['type_missionbis'][$mission]; } if ($mission != 0) { $missionDesc = $LNG['type_missionDesc'][$mission]; } $Fleet = array(); $FleetRoom = 0; foreach ($reslist['fleet'] as $id => $ShipID) { $amount = max(0, round(HTTP::_GP('ship' . $ShipID, 0.0, 0.0))); if ($amount < 1 || $ShipID == 212) { continue; } $Fleet[$ShipID] = $amount; $FleetRoom += $pricelist[$ShipID]['capacity'] * $amount; } $FleetRoom *= 1 + $USER['factor']['ShipStorage']; if (empty($Fleet)) { FleetFunctions::GotoFleetPage(); } $FleetData = array('fleetroom' => floattostring($FleetRoom), 'gamespeed' => FleetFunctions::GetGameSpeedFactor(), 'fleetspeedfactor' => max(0, 1 + $USER['factor']['FlyTime']), 'planet' => array('galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'planet_type' => $PLANET['planet_type']), 'maxspeed' => FleetFunctions::GetFleetMaxSpeed($Fleet, $USER), 'ships' => FleetFunctions::GetFleetShipInfo($Fleet, $USER), 'fleetMinDuration' => MIN_FLEET_TIME); $token = getRandomString(); $_SESSION['fleet'][$token] = array('time' => TIMESTAMP, 'fleet' => $Fleet, 'fleetRoom' => $FleetRoom); $shortcutList = $this->GetUserShotcut(); $colonyList = $this->GetColonyList(); $ACSList = $this->GetAvalibleACS(); if (!empty($shortcutList)) { $shortcutAmount = max(array_keys($shortcutList)); } else { $shortcutAmount = 0; } $PopulationOnPlanet = array(); $avaible_pop = array(301, 302, 303, 304, 305, 306, 307); foreach ($avaible_pop as $populationID) { $PopulationOnPlanet[] = array('id' => $populationID, 'count' => $PLANET[$resource[$populationID]]); } $this->tplObj->loadscript('flotten.js'); $this->tplObj->execscript('updateVars();calculateTransportCapacity();FleetTime();window.setInterval("FleetTime()", 1000);'); $this->tplObj->assign_vars(array('token' => $token, 'missionText' => $missionText, 'missionDesc' => $missionDesc, 'mission' => $mission, 'shortcutList' => $shortcutList, 'shortcutMax' => $shortcutAmount, 'colonyList' => $colonyList, 'PopulationOnPlanet' => $PopulationOnPlanet, 'ACSList' => $ACSList, 'galaxy' => $targetGalaxy, 'system' => $targetSystem, 'planet' => $targetPlanet, 'PlanetCount' => $PlanetCount, 'type' => $targetType, 'speedSelect' => FleetFunctions::$allowedSpeed, 'typeSelect' => array(1 => $LNG['type_planet'][1], 2 => $LNG['type_planet'][2]), 'fleetdata' => $FleetData)); $this->display('page.fleetStep1.default.tpl'); }
public function show() { global $USER, $PLANET, $resource, $LNG, $CONF, $pricelist; $UserDeuterium = $PLANET['elyrium']; $planetID = HTTP::_GP('planetID', 0); $targetMission = HTTP::_GP('mission', 0); $galaxyC = HTTP::_GP('galaxyC', 0); $systemC = HTTP::_GP('systemC', 0); $planetC = HTTP::_GP('planetC', 0); if (IsVacationMode($USER)) { $this->sendData(620, $LNG['fa_vacation_mode_current']); } $fleetArray = array(); switch ($targetMission) { case 14: if (!isModulAvalible(MODULE_MISSION_SPY)) { $this->sendData('rouge', $LNG['sys_module_inactive']); } if ($PLANET['teleport_portal'] == 0) { $this->sendData('rouge', $LNG['fleet_ajax_11']); } $ships = min($USER['spio_anz'], $PLANET[$resource[210]]); if (empty($ships)) { $this->sendData('rouge', $LNG['fleet_ajax_22']); } $fleetArray = array(210 => $ships); $this->returnData['ships'][210] = $PLANET[$resource[210]] - $ships; break; case 7: if (!isModulAvalible(MODULE_MISSION_COLONY)) { $this->sendData('rouge', $LNG['sys_module_inactive']); } if ($PLANET['teleport_portal'] == 0) { $this->sendData('rouge', $LNG['fleet_ajax_11']); } if ($PLANET[$resource[303]] < 10 || $PLANET[$resource[306]] < 100) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_12'], $PLANET[$resource[303]], $PLANET[$resource[306]])); } $fleetArray = array(303 => 10, 306 => 100); break; default: $this->sendData('rouge', $LNG['fleet_ajax_22']); break; } $fleetArray = array_filter($fleetArray); if (empty($fleetArray)) { $this->sendData('rouge', $LNG['fleet_ajax_22']); } $iPlanetCount = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . PLANETS . " WHERE `id_owner` = '" . $USER['id'] . "' AND `planet_type` = '1' AND `destruyed` = '0';"); $MaxPlanets = PlayerUtil::maxPlanetCount($USER); if ($iPlanetCount >= $MaxPlanets && $targetMission == 7) { $this->sendData('rouge', $LNG['fleet_ajax_14']); } $targetData = $GLOBALS['DATABASE']->getFirstRow("SELECT planet.id_owner as id_owner, \n\t\t\t\t\t\t\t\t\t\tplanet.id as id, \n\t\t\t\t\t\t\t\t\t\tplanet.name as name, \n\t\t\t\t\t\t\t\t\t\tplanet.galaxy as galaxy, \n\t\t\t\t\t\t\t\t\t\tplanet.system as system, \n\t\t\t\t\t\t\t\t\t\tplanet.planet as planet,\n\t\t\t\t\t\t\t\t\t\tplanet.planet_type as planet_type, \n\t\t\t\t\t\t\t\t\t\tplanet.force_field_timer as force_field_timer, \n\t\t\t\t\t\t\t\t\t\tplanet.teleport_portal as teleport_portal, \n\t\t\t\t\t\t\t\t\t\ttotal_points, onlinetime, forcefield_tech, urlaubs_modus, banaday, authattack, user_deleted, username\n\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . " planet\n\t\t\t\t\t\t\t\t\t\tINNER JOIN " . USERS . " user ON planet.id_owner = user.id\n\t\t\t\t\t\t\t\t\t\tLEFT JOIN " . STATPOINTS . " as stat ON stat.id_owner = user.id AND stat.stat_type = '1' \n\t\t\t\t\t\t\t\t\t\tWHERE planet.galaxy = " . $galaxyC . " AND planet.system = " . $systemC . " AND planet.planet = " . $planetC . ";"); $BuddyCheck = $GLOBALS['DATABASE']->query("SELECT * FROM uni1_buddy WHERE (sender = '" . $USER['id'] . "' AND owner = '" . $targetData['id_owner'] . "' AND state = '1') OR (owner = '" . $USER['id'] . "' AND sender = '" . $targetData['id_owner'] . "' AND state = '1');"); if ($targetMission == 1 || $targetMission == 6 || $targetMission == 3 || $targetMission == 14 || $targetMission == 13) { $ipCheck = $GLOBALS['DATABASE']->query("SELECT userID, secondID FROM uni1_ipblock WHERE userID = " . $USER['id'] . " OR secondID = '" . $USER['id'] . "';"); if ($GLOBALS['DATABASE']->numRows($ipCheck) > 0) { while ($xb = $GLOBALS['DATABASE']->fetch_array($ipCheck)) { if ($targetData['id_owner'] == $xb['userID'] || $targetData['id_owner'] == $xb['secondID']) { $this->sendData('rouge', '<span class=rouge>' . sprintf($LNG['fleet_multi_block'], $this->getUsername($targetData['id_owner'])) . '</span>'); } } } if ($GLOBALS['DATABASE']->numRows($BuddyCheck) >= 1) { $this->sendData('rouge', sprintf($LNG['fleet_pact'], $this->getUsername($targetData['id_owner']))); } } if ($targetMission == 14) { if ($targetData['id_owner'] == $USER['id']) { $this->sendData('rouge', $LNG['fleet_ajax_19']); } if ($targetData['force_field_timer'] > TIMESTAMP && $USER['virus_tech'] < $targetData['forcefield_tech']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_21'], $this->getUsername($targetData['id_owner']))); } if ($targetData['teleport_portal'] == 0) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_18'], $targetData['name'], $targetData['system'], $targetData['planet'])); } if ($targetData['user_deleted'] == 1) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_3'], $targetData['username'])); } if ($targetData['banaday'] > TIMESTAMP) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_4'], $targetData['username'])); } if (Config::get('adm_attack') == 1 && $targetData['authattack'] > $USER['authlevel']) { $this->sendData('rouge', $LNG['fa_action_not_allowed']); } if (IsVacationMode($targetData)) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_5'], $targetData['username'])); } $IsNoobProtec = CheckNoobProtec($USER, $targetData, $targetData); if ($IsNoobProtec['NoobPlayer']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_6'], $targetData['username'])); } if ($IsNoobProtec['StrongPlayer']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_7'], $targetData['username'])); } if ($USER['id'] == $targetData['id_owner']) { $this->sendData('rouge', $LNG['fleet_ajax_8']); } } if (connection_aborted()) { exit; } $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $Distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($targetData['galaxy'], $targetData['system'], $targetData['planet'])); $SpeedAllMin = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $Duration = 1; $consumption = 0; $fleetRessource = array(901 => 0, 902 => 0, 903 => 0, 904 => 0); $fleetPopulation = array(301 => 0, 302 => 0, 303 => 0, 304 => 0, 305 => 0, 306 => 0, 307 => 0, 309 => 0); if ($targetMission == 7) { $targetData = array('id' => 0, 'id_owner' => 0, 'planettype' => 1); } $fleetStartTime = $Duration + TIMESTAMP; $fleetStayTime = $fleetStartTime; $fleetEndTime = $fleetStayTime + 1; $shipID = array_keys($fleetArray); if ($targetMission == 7) { FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetData['id_owner'], 0, $galaxyC, $systemC, $planetC, 1, $fleetRessource, $fleetPopulation, $fleetStartTime, $fleetStayTime, $fleetEndTime); } else { FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetData['id_owner'], $targetData['id'], $targetData['galaxy'], $targetData['system'], $targetData['planet'], $targetData['planet_type'], $fleetRessource, $fleetPopulation, $fleetStartTime, $fleetStayTime, $fleetEndTime); } if ($targetMission == 7) { $finalMsg = sprintf($LNG['fleet_ajax_10'], $systemC, $planetC); } else { $finalMsg = sprintf($LNG['fleet_ajax_17'], $targetData['name'], $targetData['system'], $targetData['planet'], $this->getUsername($targetData['id_owner'])); } $this->sendData('vert', $finalMsg); }
function show() { global $USER, $PLANET, $reslist, $resource; $Slots = HTTP::_GP('slots', 1); $BattleArray[0][0][109] = $USER[$resource[109]]; $BattleArray[0][0][110] = $USER[$resource[110]]; $BattleArray[0][0][111] = $USER[$resource[111]]; if (empty($_REQUEST['battleinput'])) { foreach ($reslist['fleet'] as $ID) { if (FleetFunctions::GetFleetMaxSpeed($ID, $USER) > 0) { // Add just flyable elements $BattleArray[0][0][$ID] = $PLANET[$resource[$ID]]; } } } else { $BattleArray = HTTP::_GP('battleinput', array()); } if (isset($_REQUEST['im'])) { foreach ($_REQUEST['im'] as $ID => $Count) { $BattleArray[0][1][$ID] = floattostring($Count); } } $this->tplObj->loadscript('battlesim.js'); $this->assign(array('Slots' => $Slots, 'battleinput' => $BattleArray, 'fleetList' => $reslist['fleet'], 'defensiveList' => $reslist['defense'])); $this->display('page.battleSimulator.default.tpl'); }
public function show() { global $USER, $PLANET, $resource, $LNG, $pricelist; $UserDeuterium = $PLANET['deuterium']; $planetID = HTTP::_GP('planetID', 0); $targetMission = HTTP::_GP('mission', 0); $activeSlots = FleetFunctions::GetCurrentFleets($USER['id']); $maxSlots = FleetFunctions::GetMaxFleetSlots($USER); $this->returnData['slots'] = $activeSlots; if (IsVacationMode($USER)) { $this->sendData(620, $LNG['fa_vacation_mode_current']); } if (empty($planetID)) { $this->sendData(601, $LNG['fa_planet_not_exist']); } if ($maxSlots <= $activeSlots) { $this->sendData(612, $LNG['fa_no_more_slots']); } $fleetArray = array(); $db = Database::get(); switch ($targetMission) { case 6: if (!isModuleAvailable(MODULE_MISSION_SPY)) { $this->sendData(699, $LNG['sys_module_inactive']); } $ships = min($USER['spio_anz'], $PLANET[$resource[210]]); if (empty($ships)) { $this->sendData(611, $LNG['fa_no_spios']); } $fleetArray = array(210 => $ships); $this->returnData['ships'][210] = $PLANET[$resource[210]] - $ships; break; case 8: if (!isModuleAvailable(MODULE_MISSION_RECYCLE)) { $this->sendData(699, $LNG['sys_module_inactive']); } $sql = "SELECT (der_metal + der_crystal) as sum FROM %%PLANETS%% WHERE id = :planetID;"; $totalDebris = $db->selectSingle($sql, array(':planetID' => $planetID), 'sum'); $recElementIDs = array(219, 209); $fleetArray = array(); foreach ($recElementIDs as $elementID) { $shipsNeed = min(ceil($totalDebris / $pricelist[$elementID]['capacity']), $PLANET[$resource[$elementID]]); $totalDebris -= $shipsNeed * $pricelist[$elementID]['capacity']; $fleetArray[$elementID] = $shipsNeed; $this->returnData['ships'][$elementID] = $PLANET[$resource[$elementID]] - $shipsNeed; if ($totalDebris <= 0) { break; } } if (empty($fleetArray)) { $this->sendData(611, $LNG['fa_no_recyclers']); } break; default: $this->sendData(610, $LNG['fa_not_enough_probes']); break; } $fleetArray = array_filter($fleetArray); if (empty($fleetArray)) { $this->sendData(610, $LNG['fa_not_enough_probes']); } $sql = "SELECT planet.id_owner as id_owner,\n\t\tplanet.galaxy as galaxy,\n\t\tplanet.system as system,\n\t\tplanet.planet as planet,\n\t\tplanet.planet_type as planet_type,\n\t\ttotal_points, onlinetime, urlaubs_modus, banaday, authattack\n\t\tFROM %%PLANETS%% planet\n\t\tINNER JOIN %%USERS%% user ON planet.id_owner = user.id\n\t\tLEFT JOIN %%STATPOINTS%% as stat ON stat.id_owner = user.id AND stat.stat_type = '1'\n\t\tWHERE planet.id = :planetID;"; $targetData = $db->selectSingle($sql, array(':planetID' => $planetID)); if (empty($targetData)) { $this->sendData(601, $LNG['fa_planet_not_exist']); } if ($targetMission == 6) { if (Config::get()->adm_attack == 1 && $targetData['authattack'] > $USER['authlevel']) { $this->sendData(619, $LNG['fa_action_not_allowed']); } if (IsVacationMode($targetData)) { $this->sendData(605, $LNG['fa_vacation_mode']); } $sql = 'SELECT total_points FROM %%STATPOINTS%% WHERE id_owner = :userId AND stat_type = :statType'; $USER += Database::get()->selectSingle($sql, array(':userId' => $USER['id'], ':statType' => 1)); $IsNoobProtec = CheckNoobProtec($USER, $targetData, $targetData); if ($IsNoobProtec['NoobPlayer']) { $this->sendData(603, $LNG['fa_week_player']); } if ($IsNoobProtec['StrongPlayer']) { $this->sendData(604, $LNG['fa_strong_player']); } if ($USER['id'] == $targetData['id_owner']) { $this->sendData(618, $LNG['fa_not_spy_yourself']); } } $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $Distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($targetData['galaxy'], $targetData['system'], $targetData['planet'])); $SpeedAllMin = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $Duration = FleetFunctions::GetMissionDuration(10, $SpeedAllMin, $Distance, $SpeedFactor, $USER); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $Duration, $Distance, $USER, $SpeedFactor); $UserDeuterium -= $consumption; if ($UserDeuterium < 0) { $this->sendData(613, $LNG['fa_not_enough_fuel']); } if ($consumption > FleetFunctions::GetFleetRoom($fleetArray)) { $this->sendData(613, $LNG['fa_no_fleetroom']); } if (connection_aborted()) { exit; } $this->returnData['slots']++; $fleetResource = array(901 => 0, 902 => 0, 903 => 0); $fleetStartTime = $Duration + TIMESTAMP; $fleetStayTime = $fleetStartTime; $fleetEndTime = $fleetStayTime + $Duration; $shipID = array_keys($fleetArray); FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetData['id_owner'], $planetID, $targetData['galaxy'], $targetData['system'], $targetData['planet'], $targetData['planet_type'], $fleetResource, $fleetStartTime, $fleetStayTime, $fleetEndTime); $this->sendData(600, $LNG['fa_sending'] . " " . array_sum($fleetArray) . " " . $LNG['tech'][$shipID[0]] . " " . $LNG['gl_to'] . " " . $targetData['galaxy'] . ":" . $targetData['system'] . ":" . $targetData['planet'] . " ..."); }
public function show() { global $USER, $PLANET, $resource, $pricelist, $reslist, $CONF, $LNG, $UNI; if (IsVacationMode($USER)) { FleetFunctions::GotoFleetPage(0); } $targetMission = HTTP::_GP('mission', 3); $TransportMetal = max(0, round(HTTP::_GP('metal', 0.0))); $TransportCrystal = max(0, round(HTTP::_GP('crystal', 0.0))); $TransportDeuterium = max(0, round(HTTP::_GP('deuterium', 0.0))); $TransportElyrium = max(0, round(HTTP::_GP('elyrium', 0.0))); $TransportPopulation301 = max(0, round(HTTP::_GP('population301', 0.0))); $TransportPopulation302 = max(0, round(HTTP::_GP('population302', 0.0))); $TransportPopulation303 = max(0, round(HTTP::_GP('population303', 0.0))); $TransportPopulation304 = max(0, round(HTTP::_GP('population304', 0.0))); $TransportPopulation305 = max(0, round(HTTP::_GP('population305', 0.0))); $TransportPopulation306 = max(0, round(HTTP::_GP('population306', 0.0))); $TransportPopulation307 = max(0, round(HTTP::_GP('population307', 0.0))); $TransportPopulation309 = max(0, round(HTTP::_GP('population309', 0.0))); $stayTime = HTTP::_GP('staytime', 0); $speed = HTTP::_GP('speed', 10); $token = HTTP::_GP('tokens', ''); if (!isset($_SESSION['fleet'][$token])) { FleetFunctions::GotoFleetPage(1); } if ($_SESSION['fleet'][$token]['time'] < TIMESTAMP - 600) { unset($_SESSION['fleet'][$token]); FleetFunctions::GotoFleetPage(0); } $maxFleetSpeed = $_SESSION['fleet'][$token]['speed']; $distance = $_SESSION['fleet'][$token]['distance']; $targetGalaxy = $_SESSION['fleet'][$token]['targetGalaxy']; $targetSystem = $_SESSION['fleet'][$token]['targetSystem']; $targetPlanet = $_SESSION['fleet'][$token]['targetPlanet']; $targetType = $_SESSION['fleet'][$token]['targetType']; $fleetGroup = $_SESSION['fleet'][$token]['fleetGroup']; $fleetArray = $_SESSION['fleet'][$token]['fleet']; $fleetStorage = $_SESSION['fleet'][$token]['fleetRoom']; $fleetSpeed = $speed; unset($_SESSION['fleet'][$token]); if ($targetMission != 2) { $fleetGroup = 0; } if ($PLANET['galaxy'] == $targetGalaxy && $PLANET['system'] == $targetSystem && $PLANET['planet'] == $targetPlanet && $PLANET['planet_type'] == $targetType) { $this->printMessage('<span class="rouge">' . $LNG['fl_error_same_planet'] . '</span>'); } if ($targetGalaxy < 1 || $targetGalaxy > Config::get('max_galaxy') || $targetSystem < 1 || $targetSystem > Config::get('max_system') || $targetPlanet < 1 || $targetPlanet > Config::get('max_planets') + 1 || $targetType !== 1 && $targetType !== 2 && $targetType !== 3) { $this->printMessage('<span class="rouge">' . $LNG['fl_invalid_target'] . '</span>'); } if ($targetMission == 3 && $TransportMetal + $TransportCrystal + $TransportDeuterium + $TransportElyrium < 1) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_noresource'] . '</span>'); } $ActualFleets = FleetFunctions::GetCurrentFleets($USER['id']); if (FleetFunctions::GetMaxFleetSlots($USER) <= $ActualFleets) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_slots'] . '</span>'); } $ACSTime = 0; if (!empty($fleetGroup)) { $ACSTime = $GLOBALS['DATABASE']->getFirstCell("SELECT ankunft\n\t\t\tFROM " . USERS_ACS . " \n\t\t\tINNER JOIN " . AKS . " ON id = acsID\n\t\t\tWHERE acsID = " . $fleetGroup . "\n\t\t\tAND " . Config::get('max_fleets_per_acs') . " > (SELECT COUNT(*) FROM " . FLEETS . " WHERE fleet_group = " . $fleetGroup . ");"); if (empty($ACSTime)) { $fleetGroup = 0; $targetMission = 1; } } $ActualFleets = FleetFunctions::GetCurrentFleets($USER['id']); $targetPlanetData = $GLOBALS['DATABASE']->getFirstRow("SELECT id, id_owner, der_metal, der_crystal, destruyed, ally_deposit FROM " . PLANETS . " WHERE universe = " . $UNI . " AND galaxy = " . $targetGalaxy . " AND system = " . $targetSystem . " AND planet = " . $targetPlanet . " AND planet_type = '" . ($targetType == 2 ? 1 : $targetType) . "';"); if ($targetMission == 1 || $targetMission == 6 || $targetMission == 3 || $targetMission == 14) { $ipCheck = $GLOBALS['DATABASE']->query("SELECT userID, secondID FROM uni1_ipblock WHERE userID = " . $USER['id'] . " OR secondID = '" . $USER['id'] . "';"); if ($GLOBALS['DATABASE']->numRows($ipCheck) > 0) { while ($xb = $GLOBALS['DATABASE']->fetch_array($ipCheck)) { if ($targetPlanetData['id_owner'] == $xb['userID'] || $targetPlanetData['id_owner'] == $xb['secondID']) { $this->printMessage(sprintf($LNG['fleet_multi_block'], $this->getUsername($targetPlanetData['id_owner']))); } } } } if ($targetMission == 7) { if (isset($targetPlanetData)) { $this->printMessage('<span class="rouge">' . $LNG['fl_target_exists'] . '</span>'); } if ($targetType != 1) { $this->printMessage('<span class="rouge">' . $LNG['fl_only_planets_colonizable'] . '</span>'); } } if ($targetMission == 7 || $targetMission == 15) { $targetPlanetData = array('id' => 0, 'id_owner' => 0, 'planettype' => 1); } else { if ($targetPlanetData["destruyed"] != 0) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_target'] . '</span>'); } if (!isset($targetPlanetData)) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_target'] . '</span>'); } } foreach ($fleetArray as $Ship => $Count) { if ($Count > $PLANET[$resource[$Ship]]) { $this->printMessage('<span class="rouge">' . $LNG['fl_not_all_ship_avalible'] . '</span>'); } } if ($targetMission == 11) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 11); $maxExpedition = FleetFunctions::getDMMissionLimit($USER); if ($activeExpedition >= $maxExpedition) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_expedition_slot'] . '</span>'); } } elseif ($targetMission == 15) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 15); $maxExpedition = FleetFunctions::getExpeditionLimit($USER); if ($activeExpedition >= $maxExpedition) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_expedition_slot'] . '</span>'); } } $usedPlanet = isset($targetPlanetData['id_owner']); $myPlanet = $usedPlanet && $targetPlanetData['id_owner'] == $USER['id']; if ($targetMission == 7 || $targetMission == 15) { $targetPlayerData = array('id' => 0, 'onlinetime' => TIMESTAMP, 'ally_id' => 0, 'urlaubs_modus' => 0, 'authattack' => 0, 'total_points' => 0); } elseif ($myPlanet) { $targetPlayerData = $USER; } elseif (!empty($targetPlanetData['id_owner'])) { $targetPlayerData = $GLOBALS['DATABASE']->getFirstRow("SELECT \n\t\t\tuser.id, user.onlinetime, user.ally_id, user.urlaubs_modus, user.banaday, user.authattack, \n\t\t\tstat.total_points\n\t\t\tFROM " . USERS . " as user \n\t\t\tLEFT JOIN " . STATPOINTS . " as stat ON stat.id_owner = user.id AND stat.stat_type = '1' \n\t\t\tWHERE user.id = " . $targetPlanetData['id_owner'] . ";"); } else { $this->printMessage('<span class="rouge">' . $LNG['fl_empty_target'] . '</span>'); } $MisInfo = array(); $MisInfo['galaxy'] = $targetGalaxy; $MisInfo['system'] = $targetSystem; $MisInfo['planet'] = $targetPlanet; $MisInfo['planettype'] = $targetType; $MisInfo['IsAKS'] = $fleetGroup; $MisInfo['Ship'] = $fleetArray; $avalibleMissions = FleetFunctions::GetFleetMissions($USER, $MisInfo, $targetPlanetData); if (!in_array($targetMission, $avalibleMissions['MissionSelector'])) { $this->printMessage('<span class="rouge">' . $LNG['fl_invalid_mission'] . '</span>'); } if ($targetMission != 8 && IsVacationMode($targetPlayerData)) { $this->printMessage('<span class="rouge">' . $LNG['fl_target_exists'] . '</span>'); } if ($targetMission == 1 || $targetMission == 2 || $targetMission == 9) { if (FleetFunctions::CheckBash($targetPlanetData['id'])) { $this->printMessage('<span class="rouge">' . $LNG['fl_bash_protection'] . '</span>'); } } if ($targetMission == 1 || $targetMission == 2 || $targetMission == 5 || $targetMission == 6 || $targetMission == 9) { if (Config::get('adm_attack') == 1 && $targetPlayerData['authattack'] > $USER['authlevel']) { $this->printMessage('<span class="rouge">' . $LNG['fl_admin_attack'] . '</span>'); } $IsNoobProtec = CheckNoobProtec($USER, $targetPlayerData, $targetPlayerData); if ($IsNoobProtec['NoobPlayer']) { $this->printMessage('<span class="rouge">' . $LNG['fl_player_is_noob'] . '</span>'); } if ($IsNoobProtec['StrongPlayer']) { $this->printMessage('<span class="rouge">' . $LNG['fl_player_is_strong'] . '</span>'); } } if ($targetMission == 5) { if ($targetPlayerData['ally_id'] != $USER['ally_id']) { $buddy = $GLOBALS['DATABASE']->getFirstCell("\n\t\t\t\tSELECT COUNT(*) FROM " . BUDDY . " \n\t\t\t\tWHERE id NOT IN (SELECT id FROM " . BUDDY_REQUEST . " WHERE " . BUDDY_REQUEST . ".id = " . BUDDY . ".id) AND \n\t\t\t\t(owner = " . $targetPlayerData['id'] . " AND sender = " . $USER['id'] . ") OR\n\t\t\t\t(owner = " . $USER['id'] . " AND sender = " . $targetPlayerData['id'] . ");"); if ($buddy == 0) { $this->printMessage('<span class="rouge">' . $LNG['fl_no_same_alliance'] . '</span>'); } } } $fleetMaxSpeed = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $duration = FleetFunctions::GetMissionDuration($fleetSpeed, $fleetMaxSpeed, $distance, $SpeedFactor, $USER); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $duration, $distance, $fleetMaxSpeed, $USER, $SpeedFactor); if ($PLANET[$resource[904]] < $consumption) { $this->printMessage('<span class="rouge">Not enough elyrium</span>'); } $StayDuration = 0; if ($targetMission == 5 || $targetMission == 11 || $targetMission == 15) { if (!isset($avalibleMissions['StayBlock'][$stayTime])) { $this->printMessage('<span class="rouge">' . $LNG['fl_hold_time_not_exists'] . '</span>'); } $StayDuration = round($avalibleMissions['StayBlock'][$stayTime] * 3600, 0); } $fleetStorage -= $consumption; $fleetRessource = array(901 => min($TransportMetal, floor($PLANET[$resource[901]])), 902 => min($TransportCrystal, floor($PLANET[$resource[902]])), 903 => min($TransportDeuterium, floor($PLANET[$resource[903]])), 904 => min($TransportElyrium, floor($PLANET[$resource[904]] - $consumption))); $Diplo = 0; $Soldi = 0; if ($targetMission == 12) { $Diplo = 5; $Soldi = 10; } $fleetPopulation = array(301 => min($TransportPopulation301, floor($PLANET[$resource[301]])), 302 => min($TransportPopulation302, floor($PLANET[$resource[302]])), 303 => min($TransportPopulation303, floor($PLANET[$resource[303]])), 304 => min($TransportPopulation304, floor($PLANET[$resource[304]])), 305 => min($TransportPopulation305 + $Diplo, floor($PLANET[$resource[305]])), 306 => min($TransportPopulation306 + $Soldi, floor($PLANET[$resource[306]])), 307 => min($TransportPopulation307, floor($PLANET[$resource[307]])), 309 => min($TransportPopulation309, floor($PLANET[$resource[309]]))); $StorageNeeded = array_sum($fleetRessource); if ($StorageNeeded > $fleetStorage) { $this->printMessage('<span class="rouge">' . $LNG['fl_not_enough_space'] . '</span>'); } $PLANET[$resource[901]] -= $fleetRessource[901]; $PLANET[$resource[902]] -= $fleetRessource[902]; $PLANET[$resource[903]] -= $fleetRessource[903]; $PLANET[$resource[904]] -= $fleetRessource[904] + $consumption; $PLANET[$resource[301]] -= $fleetPopulation[301]; $PLANET[$resource[302]] -= $fleetPopulation[302]; $PLANET[$resource[303]] -= $fleetPopulation[303]; $PLANET[$resource[304]] -= $fleetPopulation[304]; $PLANET[$resource[305]] -= $fleetPopulation[305]; $PLANET[$resource[306]] -= $fleetPopulation[306]; $PLANET[$resource[307]] -= $fleetPopulation[307]; $PLANET[$resource[309]] -= $fleetPopulation[309]; if (connection_aborted()) { exit; } $fleetStartTime = $duration + TIMESTAMP; $timeDifference = round(max(0, $fleetStartTime - $ACSTime)); if ($fleetGroup != 0) { if ($timeDifference != 0) { FleetFunctions::setACSTime($timeDifference, $fleetGroup); } else { $fleetStartTime = $ACSTime; } } $fleetStayTime = $fleetStartTime + $StayDuration; $fleetEndTime = $fleetStayTime + $duration; FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetPlanetData['id_owner'], $targetPlanetData['id'], $targetGalaxy, $targetSystem, $targetPlanet, $targetType, $fleetRessource, $fleetPopulation, $fleetStartTime, $fleetStayTime, $fleetEndTime, $fleetGroup); foreach ($fleetArray as $Ship => $Count) { $fleetList[$LNG['tech'][$Ship]] = $Count; } $this->tplObj->loadscript('flotten.js'); $this->tplObj->gotoside('game.php?page=fleetTable'); $this->tplObj->assign_vars(array('targetMission' => $targetMission, 'distance' => $distance, 'consumption' => $consumption, 'from' => $PLANET['galaxy'] . ":" . $PLANET['system'] . ":" . $PLANET['planet'], 'destination' => $targetGalaxy . ":" . $targetSystem . ":" . $targetPlanet, 'fleetStartTime' => _date($LNG['php_tdformat'], $fleetStartTime, $USER['timezone']), 'fleetEndTime' => _date($LNG['php_tdformat'], $fleetEndTime, $USER['timezone']), 'MaxFleetSpeed' => $fleetMaxSpeed, 'FleetList' => $fleetArray, 'arraysum' => array_sum($fleetArray))); $this->display('page.fleetStep3.default.tpl'); }
public function show() { global $USER, $PLANET, $reslist, $resource, $LNG; $acsData = array(); $FleetID = HTTP::_GP('fleetID', 0); $GetAction = HTTP::_GP('action', ""); $this->tplObj->loadscript('flotten.js'); if (!empty($FleetID) && !IsVacationMode($USER)) { switch ($GetAction) { case "sendfleetback": FleetFunctions::SendFleetBack($USER, $FleetID); break; case "acs": $acsData = $this->getACSPageData($FleetID); break; } } $techExpedition = $USER[$resource[124]]; if ($techExpedition >= 1) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 15); $maxExpedition = floor(sqrt($techExpedition)); } else { $activeExpedition = 0; $maxExpedition = 0; } $maxFleetSlots = FleetFunctions::GetMaxFleetSlots($USER); $targetGalaxy = HTTP::_GP('galaxy', (int) $PLANET['galaxy']); $targetSystem = HTTP::_GP('system', (int) $PLANET['system']); $targetPlanet = HTTP::_GP('planet', (int) $PLANET['planet']); $targetType = HTTP::_GP('planettype', (int) $PLANET['planet_type']); $targetMission = HTTP::_GP('target_mission', 0); $fleetResult = $GLOBALS['DATABASE']->query("SELECT * FROM " . FLEETS . " WHERE fleet_owner = " . $USER['id'] . " AND fleet_mission <> 10 ORDER BY fleet_end_time ASC;"); $activeFleetSlots = $GLOBALS['DATABASE']->numRows($fleetResult); $FlyingFleetList = array(); while ($fleetsRow = $GLOBALS['DATABASE']->fetch_array($fleetResult)) { $fleet = explode(";", $fleetsRow['fleet_array']); $FleetList = array(); foreach ($fleet as $shipDetail) { if (empty($shipDetail)) { continue; } $ship = explode(",", $shipDetail); $FleetList[$fleetsRow['fleet_id']][$ship[0]] = $ship[1]; } if ($fleetsRow['fleet_mission'] == 4 && $fleetsRow['fleet_mess'] == FLEET_OUTWARD) { $returnTime = $fleetsRow['fleet_start_time']; } else { $returnTime = $fleetsRow['fleet_end_time']; } $FlyingFleetList[] = array('id' => $fleetsRow['fleet_id'], 'mission' => $fleetsRow['fleet_mission'], 'state' => $fleetsRow['fleet_mess'], 'startGalaxy' => $fleetsRow['fleet_start_galaxy'], 'startSystem' => $fleetsRow['fleet_start_system'], 'startPlanet' => $fleetsRow['fleet_start_planet'], 'startTime' => _date($LNG['php_tdformat'], $fleetsRow['fleet_start_time'], $USER['timezone']), 'endGalaxy' => $fleetsRow['fleet_end_galaxy'], 'endSystem' => $fleetsRow['fleet_end_system'], 'endPlanet' => $fleetsRow['fleet_end_planet'], 'endTime' => _date($LNG['php_tdformat'], $fleetsRow['fleet_end_time'], $USER['timezone']), 'amount' => pretty_number($fleetsRow['fleet_amount']), 'returntime' => $returnTime, 'resttime' => $returnTime - TIMESTAMP, 'FleetList' => $FleetList[$fleetsRow['fleet_id']]); } $GLOBALS['DATABASE']->free_result($fleetResult); $FleetsOnPlanet = array(); $avaible_fleets = array(202, 203, 209, 223, 219, 210, 224, 204, 205, 206, 207, 211, 214, 215, 216); foreach ($avaible_fleets as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanet[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } $this->tplObj->assign_vars(array('FleetsOnPlanet' => $FleetsOnPlanet, 'FlyingFleetList' => $FlyingFleetList, 'activeExpedition' => $activeExpedition, 'maxExpedition' => $maxExpedition, 'activeFleetSlots' => $activeFleetSlots, 'maxFleetSlots' => $maxFleetSlots, 'targetGalaxy' => $targetGalaxy, 'targetSystem' => $targetSystem, 'targetPlanet' => $targetPlanet, 'targetType' => $targetType, 'targetMission' => $targetMission, 'acsData' => $acsData, 'isVacation' => IsVacationMode($USER), 'bonusAttack' => $USER[$resource[109]] * 10 + (1 + abs($USER['factor']['Attack'])) * 100, 'bonusDefensive' => $USER[$resource[110]] * 10 + (1 + abs($USER['factor']['Defensive'])) * 100, 'bonusShield' => $USER[$resource[111]] * 10 + (1 + abs($USER['factor']['Shield'])) * 100, 'bonusCombustion' => $USER[$resource[115]] * 10, 'bonusImpulse' => $USER[$resource[117]] * 20, 'bonusHyperspace' => $USER[$resource[118]] * 30)); $this->display('page.fleetTable.default.tpl'); }
function mission() { global $LNG, $ProdGrid, $resource, $reslist, $CONF, $pricelist, $USER, $PLANET; if ($PLANET['teleport_portal'] == 0) { $this->printMessage('<span class="rouge">notok</span>'); } $PlanetCount = $GLOBALS['DATABASE']->getFirstCell("SELECT COUNT(*) FROM " . PLANETS . " WHERE id != " . $PLANET['id'] . " AND id_owner = " . $USER['id'] . " AND destruyed = 0;"); $targetGalaxy = HTTP::_GP('galaxy', ''); $targetSystem = HTTP::_GP('system', ''); $targetPlanet = HTTP::_GP('planet', ''); $targetType = HTTP::_GP('type', (int) $PLANET['planet_type']); $mission = HTTP::_GP('missionID', 0); if ($mission == 0) { $this->printMessage('<span class="rouge">notok</span>'); } $missionText = ''; $missionDesc = ''; if ($mission != 0) { $missionText = $LNG['type_missionbis'][$mission]; } if ($mission != 0) { $missionDesc = $LNG['type_missionDesc'][$mission]; } $colonyList = $this->GetColonyList(); $PopulationOnPlanet = array(); $avaible_pop = array(301, 302, 303, 304, 305, 306, 307); foreach ($avaible_pop as $populationID) { $PopulationOnPlanet[] = array('id' => $populationID, 'count' => $PLANET[$resource[$populationID]]); } $FleetsOnPlanet = array(); $avaible_fleets = array(202, 203, 209, 223, 219, 210, 224, 204, 205, 206, 207, 211, 214, 215, 216); foreach ($avaible_fleets as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanet[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } $this->tplObj->loadscript('portal.js'); $this->tplObj->assign_vars(array('metal' => pretty_number($PLANET['metal']), 'crystal' => pretty_number($PLANET['crystal']), 'deuterium' => pretty_number($PLANET['deuterium']), 'elyrium' => pretty_number($PLANET['elyrium']), 'missionText' => $missionText, 'missionDesc' => $missionDesc, 'mission' => $mission, 'colonyList' => $colonyList, 'PopulationOnPlanet' => $PopulationOnPlanet, 'FleetsOnPlanet' => $FleetsOnPlanet, 'galaxy' => $targetGalaxy, 'system' => $targetSystem, 'planet' => $targetPlanet, 'PlanetCount' => $PlanetCount, 'type' => $targetType, 'speedSelect' => FleetFunctions::$allowedSpeed, 'typeSelect' => array(1 => $LNG['type_planet'][1], 2 => $LNG['type_planet'][2]))); $this->display('page.tportal.mission_' . $mission . '.tpl'); }
public function show() { global $USER, $PLANET, $reslist, $resource, $LNG; $acsData = array(); $FleetID = HTTP::_GP('fleetID', 0); $GetAction = HTTP::_GP('action', ""); $db = Database::get(); $this->tplObj->loadscript('flotten.js'); if (!empty($FleetID) && !IsVacationMode($USER)) { switch ($GetAction) { case "sendfleetback": FleetFunctions::SendFleetBack($USER, $FleetID); break; case "acs": $acsData = $this->getACSPageData($FleetID); break; } } $techExpedition = $USER[$resource[124]]; if ($techExpedition >= 1) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 15, true); $maxExpedition = floor(sqrt($techExpedition)); } else { $activeExpedition = 0; $maxExpedition = 0; } $maxFleetSlots = FleetFunctions::GetMaxFleetSlots($USER); $targetGalaxy = HTTP::_GP('galaxy', (int) $PLANET['galaxy']); $targetSystem = HTTP::_GP('system', (int) $PLANET['system']); $targetPlanet = HTTP::_GP('planet', (int) $PLANET['planet']); $targetType = HTTP::_GP('planettype', (int) $PLANET['planet_type']); $targetMission = HTTP::_GP('target_mission', 0); $sql = "SELECT * FROM %%FLEETS%% WHERE fleet_owner = :userID AND fleet_mission <> 10 ORDER BY fleet_end_time ASC;"; $fleetResult = $db->select($sql, array(':userID' => $USER['id'])); $activeFleetSlots = $db->rowCount(); $FlyingFleetList = array(); foreach ($fleetResult as $fleetsRow) { $FleetList[$fleetsRow['fleet_id']] = FleetFunctions::unserialize($fleetsRow['fleet_array']); if ($fleetsRow['fleet_mission'] == 4 && $fleetsRow['fleet_mess'] == FLEET_OUTWARD) { $returnTime = $fleetsRow['fleet_start_time']; } else { $returnTime = $fleetsRow['fleet_end_time']; } $FlyingFleetList[] = array('id' => $fleetsRow['fleet_id'], 'mission' => $fleetsRow['fleet_mission'], 'state' => $fleetsRow['fleet_mess'], 'startGalaxy' => $fleetsRow['fleet_start_galaxy'], 'startSystem' => $fleetsRow['fleet_start_system'], 'startPlanet' => $fleetsRow['fleet_start_planet'], 'startTime' => _date($LNG['php_tdformat'], $fleetsRow['fleet_start_time'], $USER['timezone']), 'endGalaxy' => $fleetsRow['fleet_end_galaxy'], 'endSystem' => $fleetsRow['fleet_end_system'], 'endPlanet' => $fleetsRow['fleet_end_planet'], 'endTime' => _date($LNG['php_tdformat'], $fleetsRow['fleet_end_time'], $USER['timezone']), 'amount' => pretty_number($fleetsRow['fleet_amount']), 'returntime' => $returnTime, 'resttime' => $returnTime - TIMESTAMP, 'FleetList' => $FleetList[$fleetsRow['fleet_id']]); } $FleetsOnPlanet = array(); foreach ($reslist['fleet'] as $FleetID) { if ($PLANET[$resource[$FleetID]] == 0) { continue; } $FleetsOnPlanet[] = array('id' => $FleetID, 'speed' => FleetFunctions::GetFleetMaxSpeed($FleetID, $USER), 'count' => $PLANET[$resource[$FleetID]]); } $this->assign(array('FleetsOnPlanet' => $FleetsOnPlanet, 'FlyingFleetList' => $FlyingFleetList, 'activeExpedition' => $activeExpedition, 'maxExpedition' => $maxExpedition, 'activeFleetSlots' => $activeFleetSlots, 'maxFleetSlots' => $maxFleetSlots, 'targetGalaxy' => $targetGalaxy, 'targetSystem' => $targetSystem, 'targetPlanet' => $targetPlanet, 'targetType' => $targetType, 'targetMission' => $targetMission, 'acsData' => $acsData, 'isVacation' => IsVacationMode($USER), 'bonusAttack' => $USER[$resource[109]] * 10 + (1 + abs($USER['factor']['Attack'])) * 100, 'bonusDefensive' => $USER[$resource[110]] * 10 + (1 + abs($USER['factor']['Defensive'])) * 100, 'bonusShield' => $USER[$resource[111]] * 10 + (1 + abs($USER['factor']['Shield'])) * 100, 'bonusCombustion' => $USER[$resource[115]] * 10, 'bonusImpulse' => $USER[$resource[117]] * 20, 'bonusHyperspace' => $USER[$resource[118]] * 30)); $this->display('page.fleetTable.default.tpl'); }
function show() { global $USER, $PLANET, $reslist, $pricelist, $resource, $LNG, $CONF; require_once 'includes/classes/class.FleetFunctions.php'; $action = HTTP::_GP('action', ''); $Slots = HTTP::_GP('slots', 1); $BattleArray = array(); $BattleArray[0][0][109] = $USER[$resource[109]]; $BattleArray[0][0][110] = $USER[$resource[110]]; $BattleArray[0][0][111] = $USER[$resource[111]]; if (empty($_REQUEST['battleinput'])) { $avaible_fleets = array(202, 203, 209, 223, 219, 210, 224, 204, 205, 206, 207, 211, 214, 215, 216, 306, 307); foreach ($avaible_fleets as $ID) { if (FleetFunctions::GetFleetMaxSpeed($ID, $USER) > 0) { // Add just flyable elements $BattleArray[0][0][$ID] = $PLANET[$resource[$ID]]; } } } if (isset($_REQUEST['battleinput'])) { $BattleArray = $_REQUEST['battleinput']; } if (isset($_REQUEST['im'])) { foreach ($_REQUEST['im'] as $ID => $Count) { $BattleArray[0][1][$ID] = floattostring($Count); } } $this->tplObj->loadscript('battlesim.js'); $this->tplObj->assign_vars(array('Slots' => $Slots, 'battleinput' => $BattleArray, 'fleetList' => $avaible_fleets, 'defensiveList' => array(401, 402, 403, 404, 405, 406, 407, 408))); $this->display('page.battleSimulator.default.tpl'); }
public function show() { global $USER, $PLANET, $resource, $LNG; if (IsVacationMode($USER)) { FleetFunctions::GotoFleetPage(0); } $targetMission = HTTP::_GP('mission', 3); $TransportMetal = max(0, round(HTTP::_GP('metal', 0.0))); $TransportCrystal = max(0, round(HTTP::_GP('crystal', 0.0))); $TransportDeuterium = max(0, round(HTTP::_GP('deuterium', 0.0))); $stayTime = HTTP::_GP('staytime', 0); $token = HTTP::_GP('token', ''); $config = Config::get(); if (!isset($_SESSION['fleet'][$token])) { FleetFunctions::GotoFleetPage(1); } if ($_SESSION['fleet'][$token]['time'] < TIMESTAMP - 600) { unset($_SESSION['fleet'][$token]); FleetFunctions::GotoFleetPage(0); } $formData = $_SESSION['fleet'][$token]; unset($_SESSION['fleet'][$token]); $distance = $formData['distance']; $targetGalaxy = $formData['targetGalaxy']; $targetSystem = $formData['targetSystem']; $targetPlanet = $formData['targetPlanet']; $targetType = $formData['targetType']; $fleetGroup = $formData['fleetGroup']; $fleetArray = $formData['fleet']; $fleetStorage = $formData['fleetRoom']; $fleetSpeed = $formData['fleetSpeed']; if ($targetMission != 2) { $fleetGroup = 0; } if ($PLANET['galaxy'] == $targetGalaxy && $PLANET['system'] == $targetSystem && $PLANET['planet'] == $targetPlanet && $PLANET['planet_type'] == $targetType) { $this->printMessage($LNG['fl_error_same_planet'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } if ($targetGalaxy < 1 || $targetGalaxy > $config->max_galaxy || $targetSystem < 1 || $targetSystem > $config->max_system || $targetPlanet < 1 || $targetPlanet > $config->max_planets + 1 || $targetType !== 1 && $targetType !== 2 && $targetType !== 3) { $this->printMessage($LNG['fl_invalid_target'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } if ($targetMission == 3 && $TransportMetal + $TransportCrystal + $TransportDeuterium < 1) { $this->printMessage($LNG['fl_no_noresource'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet2'))); } $ActualFleets = FleetFunctions::GetCurrentFleets($USER['id']); if (FleetFunctions::GetMaxFleetSlots($USER) <= $ActualFleets) { $this->printMessage($LNG['fl_no_slots'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } $ACSTime = 0; $db = Database::get(); if (!empty($fleetGroup)) { $sql = "SELECT ankunft FROM %%USERS_ACS%% INNER JOIN %%AKS%% ON id = acsID\n\t\t\tWHERE acsID = :acsID AND :maxFleets > (SELECT COUNT(*) FROM %%FLEETS%% WHERE fleet_group = :acsID);"; $ACSTime = $db->selectSingle($sql, array(':acsID' => $fleetGroup, ':maxFleets' => $config->max_fleets_per_acs), 'ankunft'); if (empty($ACSTime)) { $fleetGroup = 0; $targetMission = 1; } } $sql = "SELECT id, id_owner, der_metal, der_crystal, destruyed, ally_deposit FROM %%PLANETS%% WHERE universe = :universe AND galaxy = :targetGalaxy AND system = :targetSystem AND planet = :targetPlanet AND planet_type = :targetType;"; $targetPlanetData = $db->selectSingle($sql, array(':universe' => Universe::current(), ':targetGalaxy' => $targetGalaxy, ':targetSystem' => $targetSystem, ':targetPlanet' => $targetPlanet, ':targetType' => $targetType == 2 ? 1 : $targetType)); if ($targetMission == 7) { if (!empty($targetPlanetData)) { $this->printMessage($LNG['fl_target_exists'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } if ($targetType != 1) { $this->printMessage($LNG['fl_only_planets_colonizable'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } } if ($targetMission == 7 || $targetMission == 15) { $targetPlanetData = array('id' => 0, 'id_owner' => 0, 'planettype' => 1); } else { if ($targetPlanetData["destruyed"] != 0) { $this->printMessage($LNG['fl_no_target'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } if (empty($targetPlanetData)) { $this->printMessage($LNG['fl_no_target'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } } foreach ($fleetArray as $Ship => $Count) { if ($Count > $PLANET[$resource[$Ship]]) { $this->printMessage($LNG['fl_not_all_ship_avalible'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } } if ($targetMission == 11) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 11, true); $maxExpedition = FleetFunctions::getDMMissionLimit($USER); if ($activeExpedition >= $maxExpedition) { $this->printMessage($LNG['fl_no_expedition_slot'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } } elseif ($targetMission == 15) { $activeExpedition = FleetFunctions::GetCurrentFleets($USER['id'], 15, true); $maxExpedition = FleetFunctions::getExpeditionLimit($USER); if ($activeExpedition >= $maxExpedition) { $this->printMessage($LNG['fl_no_expedition_slot'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } } $usedPlanet = isset($targetPlanetData['id_owner']); $myPlanet = $usedPlanet && $targetPlanetData['id_owner'] == $USER['id']; $targetPlayerData = array(); if ($targetMission == 7 || $targetMission == 15) { $targetPlayerData = array('id' => 0, 'onlinetime' => TIMESTAMP, 'ally_id' => 0, 'urlaubs_modus' => 0, 'authattack' => 0, 'total_points' => 0); } elseif ($myPlanet) { $targetPlayerData = $USER; } elseif (!empty($targetPlanetData['id_owner'])) { $sql = "SELECT user.id, user.onlinetime, user.ally_id, user.urlaubs_modus, user.banaday, user.authattack,\n stat.total_points\n FROM %%USERS%% as user\n LEFT JOIN %%STATPOINTS%% as stat ON stat.id_owner = user.id AND stat.stat_type = '1'\n WHERE user.id = :ownerID;"; $targetPlayerData = $db->selectSingle($sql, array(':ownerID' => $targetPlanetData['id_owner'])); } if (empty($targetPlayerData)) { $this->printMessage($LNG['fl_empty_target'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } $MisInfo = array(); $MisInfo['galaxy'] = $targetGalaxy; $MisInfo['system'] = $targetSystem; $MisInfo['planet'] = $targetPlanet; $MisInfo['planettype'] = $targetType; $MisInfo['IsAKS'] = $fleetGroup; $MisInfo['Ship'] = $fleetArray; $availableMissions = FleetFunctions::GetFleetMissions($USER, $MisInfo, $targetPlanetData); if (!in_array($targetMission, $availableMissions['MissionSelector'])) { $this->printMessage($LNG['fl_invalid_mission'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet2'))); } if ($targetMission != 8 && IsVacationMode($targetPlayerData)) { $this->printMessage($LNG['fl_target_exists'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleet1'))); } if ($targetMission == 1 || $targetMission == 2 || $targetMission == 9) { if (FleetFunctions::CheckBash($targetPlanetData['id'])) { $this->printMessage($LNG['fl_bash_protection'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } } if ($targetMission == 1 || $targetMission == 2 || $targetMission == 5 || $targetMission == 6 || $targetMission == 9) { if (Config::get()->adm_attack == 1 && $targetPlayerData['authattack'] > $USER['authlevel']) { $this->printMessage($LNG['fl_admin_attack'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } $sql = 'SELECT total_points FROM %%STATPOINTS%% WHERE id_owner = :userId AND stat_type = :statType'; $USER += Database::get()->selectSingle($sql, array(':userId' => $USER['id'], ':statType' => 1)); $IsNoobProtec = CheckNoobProtec($USER, $targetPlayerData, $targetPlayerData); if ($IsNoobProtec['NoobPlayer']) { $this->printMessage($LNG['fl_player_is_noob'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } if ($IsNoobProtec['StrongPlayer']) { $this->printMessage($LNG['fl_player_is_strong'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } } if ($targetMission == 5) { if ($targetPlayerData['ally_id'] != $USER['ally_id']) { $sql = "SELECT COUNT(*) as state FROM %%BUDDY%%\n\t\t\t\tWHERE id NOT IN (SELECT id FROM %%BUDDY_REQUEST%% WHERE %%BUDDY_REQUEST%%.id = %%BUDDY%%.id) AND\n\t\t\t\t(owner = :ownerID AND sender = :userID) OR (owner = :userID AND sender = :ownerID);"; $buddy = $db->selectSingle($sql, array(':ownerID' => $targetPlayerData['id'], ':userID' => $USER['id']), 'state'); if ($buddy == 0) { $this->printMessage($LNG['fl_no_same_alliance'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } } } $fleetMaxSpeed = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $duration = FleetFunctions::GetMissionDuration($fleetSpeed, $fleetMaxSpeed, $distance, $SpeedFactor, $USER); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $duration, $distance, $USER, $SpeedFactor); if ($PLANET[$resource[903]] < $consumption) { $this->printMessage($LNG['fl_not_enough_deuterium'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } $StayDuration = 0; if ($targetMission == 5 || $targetMission == 11 || $targetMission == 15) { if (!isset($availableMissions['StayBlock'][$stayTime])) { $this->printMessage($LNG['fl_hold_time_not_exists'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } $StayDuration = round($availableMissions['StayBlock'][$stayTime] * 3600, 0); } $fleetStorage -= $consumption; $fleetResource = array(901 => min($TransportMetal, floor($PLANET[$resource[901]])), 902 => min($TransportCrystal, floor($PLANET[$resource[902]])), 903 => min($TransportDeuterium, floor($PLANET[$resource[903]] - $consumption))); $StorageNeeded = array_sum($fleetResource); if ($StorageNeeded > $fleetStorage) { $this->printMessage($LNG['fl_not_enough_space'], array(array('label' => $LNG['sys_back'], 'url' => 'game.php?page=fleetTable'))); } $PLANET[$resource[901]] -= $fleetResource[901]; $PLANET[$resource[902]] -= $fleetResource[902]; $PLANET[$resource[903]] -= $fleetResource[903] + $consumption; $fleetStartTime = $duration + TIMESTAMP; $timeDifference = round(max(0, $fleetStartTime - $ACSTime)); if ($fleetGroup != 0) { if ($timeDifference != 0) { FleetFunctions::setACSTime($timeDifference, $fleetGroup); } else { $fleetStartTime = $ACSTime; } } $fleetStayTime = $fleetStartTime + $StayDuration; $fleetEndTime = $fleetStayTime + $duration; FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetPlanetData['id_owner'], $targetPlanetData['id'], $targetGalaxy, $targetSystem, $targetPlanet, $targetType, $fleetResource, $fleetStartTime, $fleetStayTime, $fleetEndTime, $fleetGroup); foreach ($fleetArray as $Ship => $Count) { $fleetList[$LNG['tech'][$Ship]] = $Count; } $this->tplObj->gotoside('game.php?page=fleetTable'); $this->assign(array('targetMission' => $targetMission, 'distance' => $distance, 'consumption' => $consumption, 'from' => $PLANET['galaxy'] . ":" . $PLANET['system'] . ":" . $PLANET['planet'], 'destination' => $targetGalaxy . ":" . $targetSystem . ":" . $targetPlanet, 'fleetStartTime' => _date($LNG['php_tdformat'], $fleetStartTime, $USER['timezone']), 'fleetEndTime' => _date($LNG['php_tdformat'], $fleetEndTime, $USER['timezone']), 'MaxFleetSpeed' => $fleetMaxSpeed, 'FleetList' => $fleetArray)); $this->display('page.fleetStep3.default.tpl'); }
function show() { global $USER, $PLANET, $reslist, $pricelist, $resource, $LNG, $CONF; require_once 'includes/classes/class.FleetFunctions.php'; $action = HTTP::_GP('action', ''); $Slots = HTTP::_GP('slots', 1); $pid = HTTP::_GP('pid', 0); $BattleArray = array(); $BattleArray[0][0][109] = $USER[$resource[109]]; $BattleArray[0][0][110] = $USER[$resource[110]]; $BattleArray[0][0][111] = $USER[$resource[111]]; $BattleArray[0][0][120] = $USER[$resource[120]]; $BattleArray[0][0][121] = $USER[$resource[121]]; $BattleArray[0][0][122] = $USER[$resource[122]]; $BattleArray[0][0][199] = $USER[$resource[199]]; $BattleArray[0][0][602] = $USER[$resource[602]]; $BattleArray[0][0][1101] = $USER['academy_1101']; $BattleArray[0][0][1102] = $USER['academy_1102']; $BattleArray[0][0][1301] = $USER['academy_1301']; $BattleArray[0][0][1302] = $USER['academy_1302']; $BattleArray[0][0][1103] = $USER['academy_1103']; $BattleArray[0][0][1108] = $USER['academy_1108']; $BattleArray[0][0][1109] = $USER['academy_1109']; $BattleArray[0][0][1110] = $USER['academy_1110']; $BattleArray[0][0][1111] = $USER['academy_1111']; $BattleArray[0][0][1303] = $USER['academy_1303']; $BattleArray[0][0][1311] = $USER['academy_1311']; $targetUser = $GLOBALS['DATABASE']->getFirstRow("SELECT * FROM " . USERS . " WHERE id = " . $pid . ";"); if ($USER['prem_advanced_battlesim_days'] > TIMESTAMP && $pid != '') { $BattleArray[0][1][120] = $targetUser[$resource[120]]; $BattleArray[0][1][121] = $targetUser[$resource[121]]; $BattleArray[0][1][122] = $targetUser[$resource[122]]; $BattleArray[0][1][199] = $targetUser[$resource[199]]; $BattleArray[0][1][602] = $targetUser[$resource[602]]; $BattleArray[0][1][1101] = $targetUser['academy_1101']; $BattleArray[0][1][1102] = $targetUser['academy_1102']; $BattleArray[0][1][1301] = $targetUser['academy_1301']; $BattleArray[0][1][1302] = $targetUser['academy_1302']; $BattleArray[0][1][1103] = $targetUser['academy_1103']; $BattleArray[0][1][1108] = $targetUser['academy_1108']; $BattleArray[0][1][1109] = $targetUser['academy_1109']; $BattleArray[0][1][1110] = $targetUser['academy_1110']; $BattleArray[0][1][1111] = $targetUser['academy_1111']; $BattleArray[0][1][1303] = $targetUser['academy_1303']; $BattleArray[0][1][1311] = $targetUser['academy_1311']; } if (empty($_REQUEST['battleinput'])) { foreach ($reslist['fleet'] as $ID) { if (FleetFunctions::GetFleetMaxSpeed($ID, $USER) > 0) { // Add just flyable elements $BattleArray[0][0][$ID] = $PLANET[$resource[$ID]]; } } } if (isset($_REQUEST['battleinput'])) { $BattleArray = $_REQUEST['battleinput']; } if (isset($_REQUEST['im'])) { foreach ($_REQUEST['im'] as $ID => $Count) { $BattleArray[0][1][$ID] = floattostring($Count); } } $this->tplObj->loadscript('battlesim.js'); $this->tplObj->assign_vars(array('pid' => $pid, 'Slots' => $Slots, 'battleinput' => $BattleArray, 'fleetList' => array(202, 203, 204, 205, 229, 209, 206, 207, 217, 215, 213, 211, 224, 219, 225, 226, 214, 216, 230, 227, 228, 222, 218, 221), 'defensiveList' => array(401, 402, 403, 420, 405, 404, 406, 416, 421, 417, 418, 412, 410, 413, 422, 419, 414, 415, 407, 408, 409, 411))); $this->display('page.battleSimulator.default.tpl'); }
public static function FleetAjax() { global $USER, $PLANET, $db, $resource, $LNG; $UserSpyProbes = $PLANET[$resource[210]]; $UserRecycles = $PLANET[$resource[209]]; $UserGRecycles = $PLANET[$resource[219]]; $UserDeuterium = $PLANET['deuterium']; $UserMissiles = $PLANET['interplanetary_misil']; $thisgalaxy = $PLANET['galaxy']; $thissystem = $PLANET['system']; $thisplanet = $PLANET['planet']; $thisplanettype = $PLANET['planet_type']; $galaxy = request_var('galaxy', 0); $system = request_var('system', 0); $planet = request_var('planet', 0); $planettype = request_var('planettype', 0); $mission = request_var('mission', 0); $CurrentFlyingFleets = parent::GetCurrentFleets($USER['id']); switch ($mission) { case 6: $SpyProbes = request_var('ships', 0); $SpyProbes = min($SpyProbes, $PLANET[$resource[210]]); if (empty($SpyProbes)) { exit($ResultMessage = "611; " . $LNG['fa_no_spios'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $FleetArray = array(210 => $SpyProbes); break; case 8: $SRecycles = explode("|", request_var('ships', '')); $GRecycles = min($SRecycles[0], $PLANET[$resource[219]]); $Recycles = min($SRecycles[1], $PLANET[$resource[209]]); if (empty($Recycles) && empty($GRecycles)) { exit($ResultMessage = "611; " . $LNG['fa_no_recyclers'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $FleetArray = array(219 => $GRecycles, 209 => $Recycles); break; default: exit("610; " . $LNG['fa_not_enough_probes'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); break; } parent::CleanFleetArray($FleetArray); if (empty($FleetArray)) { exit("610; " . $LNG['fa_not_enough_probes'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } if (parent::GetMaxFleetSlots($USER) <= $CurrentFlyingFleets) { $ResultMessage = "612; " . $LNG['fa_no_more_slots'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($galaxy > MAX_GALAXY_IN_WORLD || $galaxy < 1) { $ResultMessage = "602; " . $LNG['fa_galaxy_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($system > MAX_SYSTEM_IN_GALAXY || $system < 1) { $ResultMessage = "602; " . $LNG['fa_system_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($planet > MAX_PLANET_IN_SYSTEM || $planet < 1) { $ResultMessage = "602; " . $LNG['fa_planet_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } $QrySelectEnemy = "SELECT id_level, id_owner FROM " . PLANETS . " "; $QrySelectEnemy .= "WHERE "; $QrySelectEnemy .= "`galaxy` = '" . $galaxy . "' AND "; $QrySelectEnemy .= "`system` = '" . $system . "' AND "; $QrySelectEnemy .= "`planet` = '" . $planet . "' AND "; $QrySelectEnemy .= "`planet_type` = '" . $planettype . "';"; $TargetRow = $db->uniquequery($QrySelectEnemy); if ($TargetRow['id_level'] > $USER['authlevel'] && $mission == 6 && $CONF['adm_attack'] == 0) { exit("619; " . $LNG['fa_action_not_allowed'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $TargetUser = GetUserByID($TargetRow['id_owner'], array('id', 'onlinetime', 'urlaubs_modus')); if ($USER['urlaubs_modus'] == 1) { $ResultMessage = "620; " . $LNG['fa_vacation_mode_current'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($mission == 6) { $TargetVacat = $TargetUser['urlaubs_modus']; if ($TargetVacat) { $ResultMessage = "605; " . $LNG['fa_vacation_mode'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } $UserPoints = $USER; $User2Points = $db->uniquequery("SELECT `total_points` FROM " . STATPOINTS . " WHERE `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '" . $TargetRow['id_owner'] . "';"); $IsNoobProtec = CheckNoobProtec($UserPoints, $User2Points, $TargetUser['onlinetime']); if ($IsNoobProtec['NoobPlayer']) { exit("603; " . $LNG['fa_week_player'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } elseif ($IsNoobProtec['StrongPlayer']) { exit("604; " . $LNG['fa_strong_player'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } if (empty($TargetRow['id_owner'])) { $ResultMessage = "601; " . $LNG['fa_planet_not_exist'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } if ($TargetRow["id_owner"] == $PLANET["id_owner"]) { $ResultMessage = "618; " . $LNG['fa_not_spy_yourself'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles; die($ResultMessage); } } $SpeedFactor = parent::GetGameSpeedFactor(); $Distance = parent::GetTargetDistance($thisgalaxy, $galaxy, $thissystem, $system, $thisplanet, $planet); $SpeedAllMin = parent::GetFleetMaxSpeed($FleetArray, $USER); $Duration = parent::GetMissionDuration(10, $SpeedAllMin, $Distance, $SpeedFactor, $USER); $consumption = parent::GetFleetConsumption($FleetArray, $Duration, $Distance, $SpeedAllMin, $USER, $SpeedFactor); $UserDeuterium -= $consumption; if ($UserDeuterium < 0) { exit("613; " . $LNG['fa_not_enough_fuel'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } elseif ($consumption > parent::GetFleetRoom($FleetArray)) { exit("613; " . $LNG['fa_no_fleetroom'] . " |" . $CurrentFlyingFleets . " " . $UserSpyProbes . " " . $UserRecycles . " " . $UserGRecycles . " " . $UserMissiles); } $fleet['fly_time'] = $Duration; $fleet['start_time'] = $Duration + TIMESTAMP; $fleet['end_time'] = $Duration * 2 + TIMESTAMP; $FleetShipCount = 0; $FleetDBArray = ""; $FleetSubQRY = ""; foreach ($FleetArray as $Ship => $Count) { $FleetShipCount += $Count; $FleetDBArray .= $Ship . "," . $Count . ";"; $FleetSubQRY .= "`" . $resource[$Ship] . "` = `" . $resource[$Ship] . "` - " . $Count . " , "; } if (connection_aborted()) { exit; } $QryUpdate = "LOCK TABLE " . FLEETS . " WRITE, " . PLANETS . " WRITE;"; $QryUpdate .= "INSERT INTO " . FLEETS . " SET "; $QryUpdate .= "`fleet_owner` = '" . $USER['id'] . "', "; $QryUpdate .= "`fleet_mission` = '" . $mission . "', "; $QryUpdate .= "`fleet_amount` = '" . $FleetShipCount . "', "; $QryUpdate .= "`fleet_array` = '" . $FleetDBArray . "', "; $QryUpdate .= "`fleet_start_time` = '" . $fleet['start_time'] . "', "; $QryUpdate .= "`fleet_start_galaxy` = '" . $thisgalaxy . "', "; $QryUpdate .= "`fleet_start_system` = '" . $thissystem . "', "; $QryUpdate .= "`fleet_start_planet` = '" . $thisplanet . "', "; $QryUpdate .= "`fleet_start_type` = '" . $thisplanettype . "', "; $QryUpdate .= "`fleet_end_time` = '" . $fleet['end_time'] . "', "; $QryUpdate .= "`fleet_end_galaxy` = '" . $galaxy . "', "; $QryUpdate .= "`fleet_end_system` = '" . $system . "', "; $QryUpdate .= "`fleet_end_planet` = '" . $planet . "', "; $QryUpdate .= "`fleet_end_type` = '" . $planettype . "', "; $QryUpdate .= "`fleet_target_owner` = '" . $TargetRow['id_owner'] . "', "; $QryUpdate .= "`start_time` = '" . TIMESTAMP . "';"; $QryUpdate .= "UPDATE " . PLANETS . " SET "; $QryUpdate .= $FleetSubQRY; $QryUpdate .= "`deuterium` = '" . floattostring($UserDeuterium) . "' "; $QryUpdate .= "WHERE "; $QryUpdate .= "`id` = '" . $PLANET['id'] . "';"; $QryUpdate .= "UNLOCK TABLES;"; $db->multi_query($QryUpdate); $CurrentFlyingFleets++; $ResultMessage = "600; " . $LNG['fa_sending'] . " " . $FleetShipCount . " " . $LNG['tech'][$Ship] . " a " . $galaxy . ":" . $system . ":" . $planet . "...|"; $ResultMessage .= $CurrentFlyingFleets . " " . ($UserSpyProbes - $SpyProbes) . " " . ($UserRecycles - $Recycles) . " " . ($UserGRecycles - $GRecycles) . " " . $UserMissiles; die($ResultMessage); }
public function show() { global $USER, $PLANET, $resource, $LNG, $CONF, $pricelist; $UserDeuterium = $PLANET['elyrium']; $planetID = HTTP::_GP('planetID', 0); $targetMission = HTTP::_GP('mission', 0); $select = HTTP::_GP('select', 0); $activeSlots = FleetFunctions::GetCurrentFleets($USER['id']); $maxSlots = FleetFunctions::GetMaxFleetSlots($USER); $this->returnData['slots'] = $activeSlots; if (IsVacationMode($USER)) { $this->sendData('rouge', $LNG['fa_vacation_mode_current']); } if (empty($planetID)) { $this->sendData('rouge', $LNG['fa_planet_not_exist']); } if ($maxSlots <= $activeSlots) { $this->sendData('rouge', $LNG['fa_no_more_slots']); } $fleetArray = array(); switch ($targetMission) { case 1: if (!isModulAvalible(MODULE_MISSION_ATTACK)) { $this->sendData('rouge', $LNG['sys_module_inactive']); } $GetuserComp = $GLOBALS['DATABASE']->query("SELECT * FROM `uni1_fleets_manage` WHERE userID = " . $USER['id'] . " AND manageID = " . $select . ";"); $num_rows = $GLOBALS['DATABASE']->numRows($GetuserComp); if ($num_rows == 0) { $this->sendData('rouge', 'You need to create a fleet shortcut first'); } else { while ($xb = $GLOBALS['DATABASE']->fetch_array($GetuserComp)) { $ship202 = min($xb['ship202'], $PLANET[$resource[202]]); $ship203 = min($xb['ship203'], $PLANET[$resource[203]]); $ship204 = min($xb['ship204'], $PLANET[$resource[204]]); $ship205 = min($xb['ship205'], $PLANET[$resource[205]]); $ship206 = min($xb['ship206'], $PLANET[$resource[206]]); $ship207 = min($xb['ship207'], $PLANET[$resource[207]]); $ship211 = min($xb['ship211'], $PLANET[$resource[211]]); $ship214 = min($xb['ship214'], $PLANET[$resource[214]]); $ship215 = min($xb['ship215'], $PLANET[$resource[215]]); $ship216 = min($xb['ship216'], $PLANET[$resource[216]]); if (empty($ship202) && $xb['ship202'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship203) && $xb['ship203'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship204) && $xb['ship204'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship205) && $xb['ship205'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship206) && $xb['ship206'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship207) && $xb['ship207'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship211) && $xb['ship211'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship214) && $xb['ship214'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship215) && $xb['ship215'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } elseif (empty($ship216) && $xb['ship216'] > 0) { $this->sendData(611, sprintf($LNG['fleet_ajax_15'], $LNG['tech'][202])); } $fleetArray = array(202 => $ship202, 203 => $ship203, 204 => $ship204, 205 => $ship205, 206 => $ship206, 207 => $ship207, 211 => $ship211, 214 => $ship214, 215 => $ship215, 216 => $ship216); $this->returnData['ships'][202] = $PLANET[$resource[202]] - $ship202; $this->returnData['ships'][203] = $PLANET[$resource[203]] - $ship203; $this->returnData['ships'][204] = $PLANET[$resource[204]] - $ship204; $this->returnData['ships'][205] = $PLANET[$resource[205]] - $ship205; $this->returnData['ships'][206] = $PLANET[$resource[206]] - $ship206; $this->returnData['ships'][207] = $PLANET[$resource[207]] - $ship207; $this->returnData['ships'][211] = $PLANET[$resource[211]] - $ship211; $this->returnData['ships'][214] = $PLANET[$resource[214]] - $ship214; $this->returnData['ships'][215] = $PLANET[$resource[215]] - $ship215; $this->returnData['ships'][216] = $PLANET[$resource[216]] - $ship216; } } break; case 6: if (!isModulAvalible(MODULE_MISSION_SPY)) { $this->sendData('rouge', $LNG['sys_module_inactive']); } $ships = min($USER['spio_anz'], $PLANET[$resource[224]]); if (empty($ships)) { $this->sendData('rouge', $LNG['fleet_ajax_2']); } $fleetArray = array(224 => $ships); $this->returnData['ships'][224] = $PLANET[$resource[224]] - $ships; break; case 8: if (!isModulAvalible(MODULE_MISSION_RECYCLE)) { $this->sendData('rouge', $LNG['sys_module_inactive']); } $totalDebris = $GLOBALS['DATABASE']->getFirstCell("SELECT der_metal + der_crystal + der_deuterium FROM " . PLANETS . " WHERE id = " . $planetID . ";"); $usedDebris = 0; $recElementIDs = array(219, 209, 223); $fleetArray = array(); foreach ($recElementIDs as $elementID) { $shipsNeed = min(ceil($totalDebris / $pricelist[$elementID]['capacity']), $PLANET[$resource[$elementID]]); $totalDebris -= $shipsNeed * $pricelist[$elementID]['capacity']; $fleetArray[$elementID] = $shipsNeed; $this->returnData['ships'][$elementID] = $PLANET[$resource[$elementID]] - $shipsNeed; if ($totalDebris <= 0) { break; } } if (empty($fleetArray)) { $this->sendData('rouge', $LNG['fleet_ajax_1']); } if ($PLANET[$resource[219]] == 0 && $PLANET[$resource[209]] == 0 && $PLANET[$resource[223]] == 0) { $this->sendData('rouge', $LNG['fleet_ajax_1']); } break; default: $this->sendData('rouge', $LNG['fleet_ajax_2']); break; } $fleetArray = array_filter($fleetArray); if (empty($fleetArray)) { $this->sendData('rouge', $LNG['fleet_ajax_2']); } $targetData = $GLOBALS['DATABASE']->getFirstRow("SELECT planet.id_owner as id_owner, \n\t\t\t\t\t\t\t\t\t\tplanet.name as name, \n\t\t\t\t\t\t\t\t\t\tplanet.galaxy as galaxy, \n\t\t\t\t\t\t\t\t\t\tplanet.system as system, \n\t\t\t\t\t\t\t\t\t\tplanet.planet as planet,\n\t\t\t\t\t\t\t\t\t\tplanet.planet_type as planet_type, \n\t\t\t\t\t\t\t\t\t\ttotal_points, onlinetime, urlaubs_modus, banaday, authattack, user_deleted, username\n\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . " planet\n\t\t\t\t\t\t\t\t\t\tINNER JOIN " . USERS . " user ON planet.id_owner = user.id\n\t\t\t\t\t\t\t\t\t\tLEFT JOIN " . STATPOINTS . " as stat ON stat.id_owner = user.id AND stat.stat_type = '1' \n\t\t\t\t\t\t\t\t\t\tWHERE planet.id = " . $planetID . ";"); $BuddyCheck = $GLOBALS['DATABASE']->query("SELECT * FROM uni1_buddy WHERE (sender = '" . $USER['id'] . "' AND owner = '" . $targetData['id_owner'] . "' AND state = '1') OR (owner = '" . $USER['id'] . "' AND sender = '" . $targetData['id_owner'] . "' AND state = '1');"); if (empty($targetData)) { $this->sendData('rouge', $LNG['fa_planet_not_exist']); } if ($targetMission == 1 || $targetMission == 6 || $targetMission == 3 || $targetMission == 14 || $targetMission == 13) { $ipCheck = $GLOBALS['DATABASE']->query("SELECT userID, secondID FROM uni1_ipblock WHERE userID = " . $USER['id'] . " OR secondID = '" . $USER['id'] . "';"); if ($GLOBALS['DATABASE']->numRows($ipCheck) > 0) { while ($xb = $GLOBALS['DATABASE']->fetch_array($ipCheck)) { if ($targetData['id_owner'] == $xb['userID'] || $targetData['id_owner'] == $xb['secondID']) { $this->sendData('rouge', '<span class=rouge>' . sprintf($LNG['fleet_multi_block'], $this->getUsername($targetData['id_owner'])) . '</span>'); } } } if ($GLOBALS['DATABASE']->numRows($BuddyCheck) >= 1) { $this->sendData('rouge', sprintf($LNG['fleet_pact'], $this->getUsername($targetData['id_owner']))); } } if ($targetMission == 6 || $targetMission == 1) { if ($targetMission == 1) { if (FleetFunctions::CheckBash($targetData['id_owner'])) { $this->sendData('rouge', $LNG['fl_bash_protection']); } } if ($targetData['user_deleted'] == 1) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_3'], $targetData['username'])); } if ($targetData['banaday'] > TIMESTAMP) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_4'], $targetData['username'])); } if (Config::get('adm_attack') == 1 && $targetData['authattack'] > $USER['authlevel']) { $this->sendData('rouge', $LNG['fa_action_not_allowed']); } if (IsVacationMode($targetData)) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_5'], $targetData['username'])); } $IsNoobProtec = CheckNoobProtec($USER, $targetData, $targetData); if ($IsNoobProtec['NoobPlayer']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_6'], $targetData['username'])); } if ($IsNoobProtec['StrongPlayer']) { $this->sendData('rouge', sprintf($LNG['fleet_ajax_7'], $targetData['username'])); } if ($USER['id'] == $targetData['id_owner']) { $this->sendData('rouge', $LNG['fleet_ajax_8']); } } $SpeedFactor = FleetFunctions::GetGameSpeedFactor(); $Distance = FleetFunctions::GetTargetDistance(array($PLANET['galaxy'], $PLANET['system'], $PLANET['planet']), array($targetData['galaxy'], $targetData['system'], $targetData['planet'])); $SpeedAllMin = FleetFunctions::GetFleetMaxSpeed($fleetArray, $USER); $Duration = FleetFunctions::GetMissionDuration(10, $SpeedAllMin, $Distance, $SpeedFactor, $USER); $consumption = FleetFunctions::GetFleetConsumption($fleetArray, $Duration, $Distance, $SpeedAllMin, $USER, $SpeedFactor); $UserDeuterium -= $consumption; if ($UserDeuterium < 0) { $this->sendData('rouge', $LNG['fa_not_enough_fuel']); } if ($consumption > FleetFunctions::GetFleetRoom($fleetArray)) { $this->sendData('rouge', $LNG['fa_no_fleetroom']); } if (connection_aborted()) { exit; } $this->returnData['slots']++; $fleetRessource = array(901 => 0, 902 => 0, 903 => 0, 904 => 0); $fleetPopulation = array(301 => 0, 302 => 0, 303 => 0, 304 => 0, 305 => 0, 306 => 0, 307 => 0, 309 => 0); $fleetStartTime = $Duration + TIMESTAMP; $fleetStayTime = $fleetStartTime; $fleetEndTime = $fleetStayTime + $Duration; $shipID = array_keys($fleetArray); FleetFunctions::sendFleet($fleetArray, $targetMission, $USER['id'], $PLANET['id'], $PLANET['galaxy'], $PLANET['system'], $PLANET['planet'], $PLANET['planet_type'], $targetData['id_owner'], $planetID, $targetData['galaxy'], $targetData['system'], $targetData['planet'], $targetData['planet_type'], $fleetRessource, $fleetPopulation, $fleetStartTime, $fleetStayTime, $fleetEndTime); if ($targetMission == 6) { $finalMsg = sprintf($LNG['fleet_ajax_9'], $targetData['name'], $targetData['galaxy'], $targetData['system'], $targetData['planet']); } else { $finalMsg = sprintf($LNG['fleet_ajax_16'], array_sum($fleetArray), $targetData['name'], $targetData['system'], $targetData['planet'], $LNG['type_missionbis'][$targetMission]); } $this->sendData('vert', $finalMsg); }