Example #1
0
 /**
  * method colonize_mission
  * param $fleet_row
  * return the colonization result
  */
 public function colonizeMission($fleet_row)
 {
     if ($fleet_row['fleet_mess'] == 0) {
         $colonization_check = parent::$db->queryFetch("SELECT\n                                                                                                                                    (SELECT COUNT(*)\n                                                                                                                                            FROM " . PLANETS . " AS pc1\n                                                                                                                                            WHERE pc1.`planet_user_id` = '" . $fleet_row['fleet_owner'] . "' AND\n                                                                                                                                                            pc1.`planet_type` = '1' AND\n                                                                                                                                                            pc1.`planet_destroyed` = '0') AS planet_count,\n                                                                                                                                    (SELECT COUNT(*)\n                                                                                                                                            FROM " . PLANETS . " AS pc2\n                                                                                                                                            WHERE pc2.`planet_galaxy` = '" . $fleet_row['fleet_end_galaxy'] . "' AND\n                                                                                                                                                            pc2.`planet_system` = '" . $fleet_row['fleet_end_system'] . "' AND\n                                                                                                                                                            pc2.`planet_planet` = '" . $fleet_row['fleet_end_planet'] . " AND\n                                                                                                                                                            pc2.`planet_type` = 1') AS galaxy_count,\n                                                                                                                                    (SELECT `research_astrophysics`\n                                                                                                                                            FROM " . RESEARCH . "\n                                                                                                                                            WHERE `research_user_id` = '" . $fleet_row['fleet_owner'] . "') AS astro_level");
         // SOME REQUIRED VALUES
         $target_coords = sprintf($this->_lang['sys_adress_planet'], $fleet_row['fleet_end_galaxy'], $fleet_row['fleet_end_system'], $fleet_row['fleet_end_planet']);
         $max_colonies = FleetsLib::get_max_colonies($colonization_check['astro_level']);
         $planet_count = $colonization_check['planet_count'] - 1;
         // THE TOTAL AMOUNT OF PLANETS MINUS 1 (BECAUSE THE MAIN PLANET IT'S NOT CONSIDERED)
         // DIFFERENT TYPES OF MESSAGES
         $message[1] = $this->_lang['sys_colo_arrival'] . $target_coords . $this->_lang['sys_colo_maxcolo'] . ($max_colonies + 1) . $this->_lang['sys_colo_planet'];
         $message[2] = $this->_lang['sys_colo_arrival'] . $target_coords . $this->_lang['sys_colo_allisok'];
         $message[3] = $this->_lang['sys_colo_arrival'] . $target_coords . $this->_lang['sys_colo_notfree'];
         $message[4] = $this->_lang['sys_colo_arrival'] . $target_coords . $this->_lang['sys_colo_astro_level'];
         if ($colonization_check['galaxy_count'] == 0) {
             if ($planet_count >= $max_colonies) {
                 $this->colonize_message($fleet_row['fleet_owner'], $message[1], $fleet_row['fleet_start_time']);
                 parent::return_fleet($fleet_row['fleet_id']);
             } elseif (!$this->position_allowed($fleet_row['fleet_end_planet'], $colonization_check['astro_level'])) {
                 $this->colonize_message($fleet_row['fleet_owner'], $message[4], $fleet_row['fleet_start_time']);
                 parent::return_fleet($fleet_row['fleet_id']);
             } else {
                 if ($this->start_creation($fleet_row)) {
                     $this->colonize_message($fleet_row['fleet_owner'], $message[2], $fleet_row['fleet_start_time']);
                     if ($fleet_row['fleet_amount'] == 1) {
                         parent::$db->query("UPDATE " . USERS_STATISTICS . " AS us SET\n                                                                                                    us.`user_statistic_ships_points` = us.`user_statistic_ships_points` - " . StatisticsLib::calculate_points(208, 1) . "\n                                                                                                    WHERE us.`user_statistic_user_id` = (SELECT p.planet_user_id FROM " . PLANETS . " AS p\n                                                                                                                                                                                    WHERE p.planet_galaxy = '" . $fleet_row['fleet_start_galaxy'] . "' AND\n                                                                                                                                                                                                    p.planet_system = '" . $fleet_row['fleet_start_system'] . "' AND\n                                                                                                                                                                                                    p.planet_planet = '" . $fleet_row['fleet_start_planet'] . "' AND\n                                                                                                                                                                                                    p.planet_type = '" . $fleet_row['fleet_start_type'] . "');");
                         parent::store_resources($fleet_row);
                         parent::remove_fleet($fleet_row['fleet_id']);
                     } else {
                         parent::store_resources($fleet_row);
                         parent::$db->query("UPDATE " . FLEETS . ", " . USERS_STATISTICS . " SET\n                                                                                                    `fleet_array` = '" . $this->build_new_fleet($fleet_row['fleet_array']) . "',\n                                                                                                    `fleet_amount` = `fleet_amount` - 1,\n                                                                                                    `fleet_resource_metal` = '0',\n                                                                                                    `fleet_resource_crystal` = '0',\n                                                                                                    `fleet_resource_deuterium` = '0',\n                                                                                                    `fleet_mess` = '1',\n                                                                                                    `user_statistic_ships_points` = `user_statistic_ships_points` - " . StatisticsLib::calculate_points(208, 1) . "\n                                                                                                    WHERE `fleet_id` = '" . $fleet_row['fleet_id'] . "' AND\n                                                                                                                    `user_statistic_user_id` = (SELECT planet_user_id FROM " . PLANETS . "\n                                                                                                                                                                                    WHERE planet_galaxy = '" . $fleet_row['fleet_start_galaxy'] . "' AND\n                                                                                                                                                                                                    planet_system = '" . $fleet_row['fleet_start_system'] . "' AND\n                                                                                                                                                                                                    planet_planet = '" . $fleet_row['fleet_start_planet'] . "' AND\n                                                                                                                                                                                                    planet_type = '" . $fleet_row['fleet_start_type'] . "');");
                     }
                 } else {
                     $this->colonize_message($fleet_row['fleet_owner'], $message[3], $fleet_row['fleet_end_time']);
                     parent::return_fleet($fleet_row['fleet_id']);
                 }
             }
         } else {
             $this->colonize_message($fleet_row['fleet_owner'], $message[3], $fleet_row['fleet_end_time']);
             parent::return_fleet($fleet_row['fleet_id']);
         }
     }
     if ($fleet_row['fleet_end_time'] < time()) {
         parent::restore_fleet($fleet_row, TRUE);
         parent::remove_fleet($fleet_row['fleet_id']);
     }
 }
Example #2
0
 /**
  * method astrophysics_table
  * param
  * return builds the astrophysics table
  */
 private function astrophysics_table($template)
 {
     $CurrentBuildtLvl = $this->_current_user[$this->_resource[$this->_element_id]];
     $BuildStartLvl = max(1, $CurrentBuildtLvl - 2);
     $Table = "";
     for ($BuildLevel = $BuildStartLvl; $BuildLevel < $BuildStartLvl + 15; ++$BuildLevel) {
         $bloc['tech_lvl'] = $CurrentBuildtLvl == $BuildLevel ? "<font color=\"#ff0000\">" . $BuildLevel . "</font>" : $BuildLevel;
         $bloc['tech_colonies'] = FormatLib::pretty_number(FleetsLib::get_max_colonies($BuildLevel));
         $bloc['tech_expeditions'] = FormatLib::pretty_number(FleetsLib::get_max_expeditions($BuildLevel));
         $Table .= parent::$page->parse_template($template, $bloc);
     }
     return $Table;
 }