コード例 #1
0
ファイル: transport.php プロジェクト: athk/XG-Proyect-v3.x.x
 /**
  * method transport_mission
  * param $fleet_row
  * return the transport result
  */
 public function transportMission($fleet_row)
 {
     $transport_check = parent::$db->queryFetch("SELECT pc1.`planet_user_id` AS start_id,\n                pc1.`planet_name` AS start_name,\n                pc2.`planet_user_id` AS target_id,\n                pc2.`planet_name` AS target_name\n                FROM " . PLANETS . " AS pc1, " . PLANETS . " AS pc2\n                WHERE pc1.planet_galaxy = '" . $fleet_row['fleet_start_galaxy'] . "' AND\n                pc1.`planet_system` = '" . $fleet_row['fleet_start_system'] . "' AND\n                pc1.`planet_planet` = '" . $fleet_row['fleet_start_planet'] . "' AND\n                pc1.`planet_type` = '" . $fleet_row['fleet_start_type'] . "' AND\n                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` = '" . $fleet_row['fleet_end_type'] . "'");
     // SOME REQUIRED VALUES
     $start_name = $transport_check['start_name'];
     $start_owner_id = $transport_check['start_id'];
     $target_name = $transport_check['target_name'];
     $target_owner_id = $transport_check['target_id'];
     // DIFFERENT TYPES OF MESSAGES
     $message[1] = sprintf($this->_lang['sys_tran_mess_owner'], $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']);
     $message[2] = sprintf($this->_lang['sys_tran_mess_user'], $start_name, FleetsLib::start_link($fleet_row, ''), $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']);
     $message[3] = sprintf($this->_lang['sys_tran_mess_back'], $start_name, FleetsLib::start_link($fleet_row, ''));
     if ($fleet_row['fleet_mess'] == 0) {
         if ($fleet_row['fleet_start_time'] < time()) {
             parent::store_resources($fleet_row, FALSE);
             $this->transport_message($start_owner_id, $message[1], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']);
             if ($target_owner_id != $start_owner_id) {
                 $this->transport_message($target_owner_id, $message[2], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']);
             }
             parent::$db->query("UPDATE " . FLEETS . " SET\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_metal` = '0' ,\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_crystal` = '0' ,\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_deuterium` = '0' ,\n\t\t\t\t\t\t\t\t\t\t`fleet_mess` = '1'\n\t\t\t\t\t\t\t\t\t\tWHERE `fleet_id` = '" . (int) $fleet_row['fleet_id'] . "'\n\t\t\t\t\t\t\t\t\t\tLIMIT 1 ;");
         }
     } elseif ($fleet_row['fleet_end_time'] < time()) {
         $this->transport_message($start_owner_id, $message[3], $fleet_row['fleet_end_time'], $this->_lang['sys_mess_fleetback']);
         parent::restore_fleet($fleet_row, TRUE);
         parent::remove_fleet($fleet_row['fleet_id']);
     }
 }
コード例 #2
0
ファイル: stay.php プロジェクト: athk/XG-Proyect-v3.x.x
 /**
  * method stay_mission
  * param $fleet_row
  * return the stay result
  */
 public function stayMission($fleet_row)
 {
     if ($fleet_row['fleet_mess'] == 0) {
         if ($fleet_row['fleet_start_time'] <= time()) {
             $transport_check = parent::$db->queryFetch("SELECT pc1.`planet_user_id` AS start_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_name` AS start_name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_user_id` AS target_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_name` AS target_name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM " . PLANETS . " AS pc1, " . PLANETS . " AS pc2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE pc1.planet_ = '" . $fleet_row['fleet_start_galaxy'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_system` = '" . $fleet_row['fleet_start_system'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_planet` = '" . $fleet_row['fleet_start_planet'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc1.`planet_type` = '" . $fleet_row['fleet_start_type'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_galaxy` = '" . $fleet_row['fleet_end_galaxy'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_system` = '" . $fleet_row['fleet_end_system'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_planet` = '" . $fleet_row['fleet_end_planet'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpc2.`planet_type` = '" . $fleet_row['fleet_end_type'] . "'");
             // SOME REQUIRED VALUES
             $start_name = $transport_check['start_id'];
             $start_owner_id = $transport_check['start_name'];
             $target_name = $transport_check['target_id'];
             $target_owner_id = $transport_check['target_name'];
             // DIFFERENT TYPES OF MESSAGES
             $message[1] = sprintf($this->_lang['sys_tran_mess_owner'], $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']);
             $message[2] = sprintf($this->_lang['sys_tran_mess_user'], $start_name, FleetsLib::start_link($fleet_row, ''), $target_name, FleetsLib::target_link($fleet_row, ''), $fleet_row['fleet_resource_metal'], $this->_lang['Metal'], $fleet_row['fleet_resource_crystal'], $this->_lang['Crystal'], $fleet_row['fleet_resource_deuterium'], $this->_lang['Deuterium']);
             $message[3] = sprintf($this->_lang['sys_tran_mess_back'], $start_name, FleetsLib::start_link($fleet_row, ''));
             $this->stay_message($start_owner_id, $message[1], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']);
             $this->stay_message($target_owner_id, $message[2], $fleet_row['fleet_start_time'], $this->_lang['sys_mess_transport']);
             $this->start_stay($fleet_row['fleet_id']);
         }
         if ($fleet_row['fleet_end_stay'] <= time()) {
             parent::return_fleet($fleet_row['fleet_id']);
         }
     }
     if ($fleet_row['fleet_end_time'] < time()) {
         $this->stay_message($start_owner_id, $message, $fleet_row['fleet_end_time'], $this->_lang['sys_mess_fleetback']);
         parent::restore_fleet($fleet_row, TRUE);
         parent::remove_fleet($fleet_row['fleet_id']);
     }
 }
コード例 #3
0
ファイル: recycle.php プロジェクト: athk/XG-Proyect-v3.x.x
 /**
  * method recycle_mission
  * param $fleet_row
  * return the recycle result
  */
 public function recycleMission($fleet_row)
 {
     if ($fleet_row['fleet_mess'] == '0') {
         if ($fleet_row['fleet_start_time'] <= time()) {
             $recycled_resources = $this->calculate_capacity($fleet_row);
             parent::$db->query("UPDATE " . PLANETS . ", " . FLEETS . " SET\n\t\t\t\t\t\t\t\t\t\t`planet_debris_metal` = `planet_debris_metal` - '" . $recycled_resources['metal'] . "',\n\t\t\t\t\t\t\t\t\t\t`planet_debris_crystal` = `planet_debris_crystal` - '" . $recycled_resources['crystal'] . "',\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_metal` = `fleet_resource_metal` + '" . $recycled_resources['metal'] . "',\n\t\t\t\t\t\t\t\t\t\t`fleet_resource_crystal` = `fleet_resource_crystal` + '" . $recycled_resources['crystal'] . "',\n\t\t\t\t\t\t\t\t\t\t`fleet_mess` = '1'\n\t\t\t\t\t\t\t\t\t\tWHERE `planet_galaxy` = '" . $fleet_row['fleet_end_galaxy'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t`planet_system` = '" . $fleet_row['fleet_end_system'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t`planet_planet` = '" . $fleet_row['fleet_end_planet'] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\t`planet_type` = 1 AND\n\t\t\t\t\t\t\t\t\t\t\t\t`fleet_id` = '" . (int) $fleet_row['fleet_id'] . "'");
             $message = sprintf($this->_lang['sys_recy_gotten'], FormatLib::pretty_number($recycled_resources['metal']), $this->_lang['Metal'], FormatLib::pretty_number($recycled_resources['crystal']), $this->_lang['Crystal']);
             $this->recycle_message($fleet_row['fleet_owner'], $message, $fleet_row['fleet_start_time'], $this->_lang['sys_recy_report']);
         }
     } elseif ($fleet_row['fleet_end_time'] <= time()) {
         $message = sprintf($this->_lang['sys_tran_mess_owner'], $TargetName, FleetsLib::target_link($fleet_row, ''), FormatLib::pretty_number($fleet_row['fleet_resource_metal']), $this->_lang['Metal'], FormatLib::pretty_number($fleet_row['fleet_resource_crystal']), $this->_lang['Crystal'], FormatLib::pretty_number($fleet_row['fleet_resource_deuterium']), $this->_lang['Deuterium']);
         $this->recycle_message($fleet_row['fleet_owner'], $message, $fleet_row['fleet_end_time'], $this->_lang['sys_mess_fleetback']);
         parent::restore_fleet($fleet_row, TRUE);
         parent::remove_fleet($fleet_row['fleet_id']);
     }
 }
コード例 #4
0
ファイル: FleetsLib.php プロジェクト: athk/XG-Proyect-v3.x.x
 /**
  * method flying_fleets_table
  * param $fleet_row
  * param $Status
  * param $Owner
  * param $Label
  * param $Record
  * param $current_user
  * return the fleet table for the overview and phalanx
  */
 public static function flying_fleets_table($fleet_row, $Status, $Owner, $Label, $Record, $current_user)
 {
     $FleetStyle = array(1 => 'attack', 2 => 'federation', 3 => 'transport', 4 => 'deploy', 5 => 'hold', 6 => 'espionage', 7 => 'colony', 8 => 'harvest', 9 => 'destroy', 10 => 'missile', 15 => 'transport');
     $FleetStatus = array(0 => 'flight', 1 => 'holding', 2 => 'return');
     $FleetPrefix = $Owner ? 'own' : '';
     $RowsTPL = parent::$page->get_template('overview/overview_fleet_event');
     $MissionType = $fleet_row['fleet_mission'];
     $FleetContent = self::fleet_ships_popup($fleet_row, parent::$lang['cff_flotte'], $FleetPrefix . $FleetStyle[$MissionType], $current_user);
     $FleetCapacity = self::fleet_resources_popup($fleet_row, parent::$lang['type_mission'][$MissionType], $FleetPrefix . $FleetStyle[$MissionType]);
     $planet_name = parent::$db->queryFetch("SELECT\t(SELECT `planet_name`\n                                                                                                                    FROM " . PLANETS . "\n                                                                                                                    WHERE `planet_galaxy` = '" . intval($fleet_row['fleet_start_galaxy']) . "' AND\n                                                                                                                                    `planet_system` = '" . intval($fleet_row['fleet_start_system']) . "' AND\n                                                                                                                                    `planet_planet` = '" . intval($fleet_row['fleet_start_planet']) . "' AND\n                                                                                                                                    `planet_type` = '" . intval($fleet_row['fleet_start_type']) . "') AS start_planet_name,\n                                                                                                            (SELECT `planet_name`\n                                                                                                                    FROM " . PLANETS . "\n                                                                                                                    WHERE `planet_galaxy` = '" . intval($fleet_row['fleet_end_galaxy']) . "' AND\n                                                                                                                                    `planet_system` = '" . intval($fleet_row['fleet_end_system']) . "' AND\n                                                                                                                                    `planet_planet` = '" . intval($fleet_row['fleet_end_planet']) . "' AND\n                                                                                                                                    `planet_type` = '" . intval($fleet_row['fleet_end_type']) . "') AS target_planet_name");
     $StartType = $fleet_row['fleet_start_type'];
     $TargetType = $fleet_row['fleet_end_type'];
     if ($Status != 2) {
         if ($StartType == 1) {
             $StartID = parent::$lang['cff_from_the_planet'];
         } elseif ($StartType == 3) {
             $StartID = parent::$lang['cff_from_the_moon'];
         }
         $StartID .= $planet_name['start_planet_name'] . " ";
         $StartID .= FleetsLib::start_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]);
         if ($MissionType != 15) {
             switch ($TargetType) {
                 case 1:
                     $TargetID = parent::$lang['cff_the_planet'];
                     break;
                 case 2:
                     $TargetID = parent::$lang['cff_debris_field'];
                     break;
                 case 3:
                     $TargetID = parent::$lang['cff_to_the_moon'];
                     break;
             }
         } else {
             $TargetID = parent::$lang['cff_the_position'];
         }
         $TargetID .= $planet_name['target_planet_name'] . " ";
         $TargetID .= FleetsLib::target_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]);
     } else {
         if ($StartType == 1) {
             $StartID = parent::$lang['cff_to_the_planet'];
         } elseif ($StartType == 3) {
             $StartID = parent::$lang['cff_the_moon'];
         }
         $StartID .= $planet_name['start_planet_name'] . " ";
         $StartID .= FleetsLib::start_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]);
         if ($MissionType != 15) {
             switch ($TargetType) {
                 case 1:
                     $TargetID = parent::$lang['cff_from_planet'];
                     break;
                 case 2:
                     $TargetID = parent::$lang['cff_from_debris_field'];
                     break;
                 case 3:
                     $TargetID = parent::$lang['cff_from_the_moon'];
                     break;
             }
         } else {
             $TargetID = parent::$lang['cff_from_position'];
         }
         $TargetID .= $planet_name['target_planet_name'] . " ";
         $TargetID .= FleetsLib::target_link($fleet_row, $FleetPrefix . $FleetStyle[$MissionType]);
     }
     if ($MissionType == 10) {
         $EventString = parent::$lang['cff_missile_attack'] . " ( " . preg_replace("(503,)i", "", $fleet_row['fleet_array']) . " ) ";
         $Time = $fleet_row['fleet_start_time'];
         $Rest = $Time - time();
         $EventString .= $StartID;
         $EventString .= parent::$lang['cff_to'];
         $EventString .= $TargetID;
         $EventString .= ".";
     } else {
         if ($Owner == TRUE) {
             $EventString = parent::$lang['cff_one_of_your'];
             $EventString .= $FleetContent;
         } else {
             $EventString = parent::$lang['cff_a'];
             $EventString .= $FleetContent;
             $EventString .= parent::$lang['cff_of'];
             $EventString .= self::enemy_link($fleet_row);
         }
         switch ($Status) {
             case 0:
                 $Time = $fleet_row['fleet_start_time'];
                 $Rest = $Time - time();
                 $EventString .= parent::$lang['cff_goes'];
                 $EventString .= $StartID;
                 $EventString .= parent::$lang['cff_toward'];
                 $EventString .= $TargetID;
                 $EventString .= parent::$lang['cff_with_the_mission_of'];
                 break;
             case 1:
                 $Time = $fleet_row['fleet_end_stay'];
                 $Rest = $Time - time();
                 $EventString .= parent::$lang['cff_goes'];
                 $EventString .= $StartID;
                 $EventString .= parent::$lang['cff_to_explore'];
                 $EventString .= $TargetID;
                 $EventString .= parent::$lang['cff_with_the_mission_of'];
                 break;
             case 2:
                 $Time = $fleet_row['fleet_end_time'];
                 $Rest = $Time - time();
                 $EventString .= parent::$lang['cff_comming_back'];
                 $EventString .= $TargetID;
                 $EventString .= $StartID;
                 $EventString .= parent::$lang['cff_with_the_mission_of'];
                 break;
         }
         $EventString .= $FleetCapacity;
     }
     $bloc['fleet_status'] = $FleetStatus[$Status];
     $bloc['fleet_prefix'] = $FleetPrefix;
     $bloc['fleet_style'] = $FleetStyle[$MissionType];
     $bloc['fleet_javai'] = FunctionsLib::chrono_applet($Label, $Record, $Rest, TRUE);
     $bloc['fleet_order'] = $Label . $Record;
     $bloc['fleet_descr'] = $EventString;
     $bloc['fleet_javas'] = FunctionsLib::chrono_applet($Label, $Record, $Rest, FALSE);
     return parent::$page->parse_template($RowsTPL, $bloc);
 }
コード例 #5
0
ファイル: attack.php プロジェクト: athk/XG-Proyect-v3.x.x
 /**
  * attackMission
  *
  * @param array $fleet_row Fleet row
  *
  * @return void
  */
 public function attackMission($fleet_row)
 {
     // null == use default handlers
     $errorHandler = null;
     $exceptionHandler = null;
     $target_planet = parent::$db->queryFetch("SELECT *\n            FROM " . PLANETS . " AS p\n            INNER JOIN " . BUILDINGS . " AS b ON b.building_planet_id = p.`planet_id`\n            INNER JOIN " . SHIPS . " AS s ON s.ship_planet_id = p.`planet_id`\n            INNER JOIN " . DEFENSES . " AS d ON d.defense_planet_id = p.`planet_id`\n            WHERE `planet_galaxy` = " . (int) $fleet_row['fleet_end_galaxy'] . " AND\n                `planet_system` = " . (int) $fleet_row['fleet_end_system'] . " AND\n                `planet_type` = " . (int) $fleet_row['fleet_end_type'] . " AND\n                `planet_planet` = " . (int) $fleet_row['fleet_end_planet'] . ";");
     if ($fleet_row['fleet_mess'] == 0 && $fleet_row['fleet_start_time'] <= time()) {
         // require several stuff
         require XGP_ROOT . VENDOR_PATH . 'battle_engine' . DIRECTORY_SEPARATOR . 'utils' . DIRECTORY_SEPARATOR . 'includer.php';
         // require language implementation
         require XGP_ROOT . LIB_PATH . 'missions' . DIRECTORY_SEPARATOR . 'attackLang.php';
         // set language for the reports
         LangManager::getInstance()->setImplementation(new AttackLang($this->_lang));
         if ($fleet_row['fleet_group'] > 0) {
             parent::$db->query("DELETE FROM `" . ACS_FLEETS . "`\n                    WHERE `acs_fleet_id` = '" . (int) $fleet_row['fleet_group'] . "'");
             parent::$db->query("UPDATE `" . FLEETS . "` SET\n                    `fleet_mess` = '1'\n                    WHERE `fleet_group` = '" . $fleet_row['fleet_group'] . "'");
         } else {
             parent::return_fleet($fleet_row['fleet_id']);
         }
         $targetUser = parent::$db->queryFetch("SELECT u.*,\n                    r.*,\n                    pr.*\n                FROM " . USERS . " AS u\n                    INNER JOIN " . RESEARCH . " AS r ON r.research_user_id = u.user_id\n                    INNER JOIN " . PREMIUM . " AS pr ON pr.premium_user_id = u.user_id\n                WHERE u.user_id = '" . intval($target_planet['planet_user_id']) . "';");
         $target_userID = $targetUser['user_id'];
         UpdateResourcesLib::updateResources($targetUser, $target_planet, time());
         //----------------------- prepare players for battle ----------------------
         // attackers fleet sum
         $attackers = new PlayerGroup();
         // If we have a ACS attack
         if ($fleet_row['fleet_group'] != 0) {
             $fleets = parent::$db->queryFetch("SELECT * FROM `" . FLEETS . "` WHERE `fleet_group` = '" . $fleet_row['fleet_group'] . "';");
             $attackers = $this->getPlayerGroupFromQuery($fleets);
         } else {
             $attackers = $this->getPlayerGroup($fleet_row);
         }
         // defenders fleet sum
         $def = parent::$db->query("SELECT * FROM `" . FLEETS . "` \n                WHERE `fleet_end_galaxy` = '" . $fleet_row['fleet_end_galaxy'] . "' AND \n                    `fleet_end_system` = '" . $fleet_row['fleet_end_system'] . "' AND \n                    `fleet_end_type` = '" . $fleet_row['fleet_end_type'] . "' AND \n                    `fleet_end_planet` = '" . $fleet_row['fleet_end_planet'] . "' AND\n                    `fleet_start_time` < '" . time() . "' AND \n                    `fleet_end_stay` >= '" . time() . "';");
         $defenders = $this->getPlayerGroupFromQuery($def, $targetUser);
         //defenses sum
         $homeFleet = new HomeFleet(0);
         for ($i = self::DEFENSE_MIN_ID; $i < self::DEFENSE_MAX_ID; $i++) {
             if (isset($this->_resource[$i]) && isset($target_planet[$this->_resource[$i]])) {
                 if ($target_planet[$this->_resource[$i]] != 0) {
                     $homeFleet->addShipType($this->getShipType($i, $target_planet[$this->_resource[$i]]));
                 }
             }
         }
         for ($i = self::SHIP_MIN_ID; $i < self::SHIP_MAX_ID; $i++) {
             if (isset($this->_resource[$i]) && isset($target_planet[$this->_resource[$i]])) {
                 if ($target_planet[$this->_resource[$i]] != 0) {
                     $homeFleet->addShipType($this->getShipType($i, $target_planet[$this->_resource[$i]]));
                 }
             }
         }
         if (!$defenders->existPlayer($target_userID)) {
             $player = new Player($target_userID, array($homeFleet));
             $player->setTech($targetUser['research_weapons_technology'], $targetUser['research_shielding_technology'], $targetUser['research_armour_technology']);
             $player->setName($targetUser['user_name']);
             $defenders->addPlayer($player);
         } else {
             $defenders->getPlayer($target_userID)->addDefense($homeFleet);
         }
         //-------------------------------------------------------------------------
         //------------------------------ battle -----------------------------------
         $battle = new Battle($attackers, $defenders);
         $startBattle = DebugManager::runDebugged(array($battle, 'startBattle'), $errorHandler, $exceptionHandler);
         $startBattle();
         //-------------------------------------------------------------------------
         //-------------------------- after battle stuff ---------------------------
         $report = $battle->getReport();
         $steal = $this->updateAttackers($report->getPresentationAttackersFleetOnRound('START'), $report->getAfterBattleAttackers(), $target_planet);
         $report->setSteal($steal);
         $this->updateDefenders($report->getPresentationDefendersFleetOnRound('START'), $report->getAfterBattleDefenders(), $target_planet, $steal);
         $this->updateDebris($fleet_row, $report);
         $this->updateMoon($fleet_row, $report, '', $target_userID, $target_planet);
         $this->sendMessage($fleet_row, $report);
     } elseif ($fleet_row['fleet_end_time'] <= time()) {
         $message = sprintf($this->_lang['sys_fleet_won'], $target_planet['planet_name'], FleetsLib::target_link($fleet_row, ''), FormatLib::pretty_number($fleet_row['fleet_resource_metal']), $this->_lang['Metal'], FormatLib::pretty_number($fleet_row['fleet_resource_crystal']), $this->_lang['Crystal'], FormatLib::pretty_number($fleet_row['fleet_resource_deuterium']), $this->_lang['Deuterium']);
         FunctionsLib::send_message($fleet_row['fleet_owner'], '', $fleet_row['fleet_end_time'], 1, $this->_lang['sys_mess_tower'], $this->_lang['sys_mess_fleetback'], $message);
         parent::restore_fleet($fleet_row);
         parent::remove_fleet($fleet_row['fleet_id']);
     }
 }