Пример #1
0
function MissionCaseAttack($FleetRow)
{
    global $user, $phpEx, $ugamela_root_path, $pricelist, $lang, $resource, $CombatCaps;
    if ($FleetRow['fleet_start_time'] <= time()) {
        if ($FleetRow['fleet_mess'] == 0) {
            if (!isset($CombatCaps[202]['sd'])) {
                message("<font color=\"red\">" . $lang['sys_no_vars'] . "</font>", $lang['sys_error'], "fleet." . $phpEx, 2);
            }
            $QryTargetPlanet = "SELECT * FROM {{table}} ";
            $QryTargetPlanet .= "WHERE ";
            $QryTargetPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryTargetPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryTargetPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
            $QryTargetPlanet .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "';";
            $TargetPlanet = doquery($QryTargetPlanet, 'planets', true);
            $TargetUserID = $TargetPlanet['id_owner'];
            $QryTargetUser = "******";
            $QryTargetUser .= "WHERE ";
            $QryTargetUser .= "`id` = '" . $TargetUserID . "';";
            $TargetUser = doquery($QryTargetUser, 'users', true);
            // Planeten aktualisieren und erneut auslesen
            // =============================================================================
            $update = PlanetResourceUpdate($TargetUser, $TargetPlanet, time());
            $TargetPlanet = doquery($QryTargetPlanet, 'planets', true);
            $TargetUser = doquery($QryTargetUser, 'users', true);
            // =============================================================================
            $QryCurrentUser = "******";
            $QryCurrentUser .= "WHERE ";
            $QryCurrentUser .= "`id` = '" . $FleetRow['fleet_owner'] . "';";
            $CurrentUser = doquery($QryCurrentUser, 'users', true);
            $CurrentUserID = $CurrentUser['id'];
            $QryTargetTech = "SELECT ";
            $QryTargetTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryTargetTech .= "FROM {{table}} ";
            $QryTargetTech .= "WHERE ";
            $QryTargetTech .= "`id` = '" . $TargetUserID . "';";
            $TargetTechno = doquery($QryTargetTech, 'users', true);
            $QryCurrentTech = "SELECT ";
            $QryCurrentTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryCurrentTech .= "FROM {{table}} ";
            $QryCurrentTech .= "WHERE ";
            $QryCurrentTech .= "`id` = '" . $CurrentUserID . "';";
            $CurrentTechno = doquery($QryCurrentTech, 'users', true);
            for ($SetItem = 200; $SetItem < 500; $SetItem++) {
                if ($TargetPlanet[$resource[$SetItem]] > 0) {
                    $TargetSet[$SetItem]['count'] = $TargetPlanet[$resource[$SetItem]];
                }
            }
            $TheFleet = explode(";", $FleetRow['fleet_array']);
            foreach ($TheFleet as $a => $b) {
                if ($b != '') {
                    $a = explode(",", $b);
                    $CurrentSet[$a[0]]['count'] = $a[1];
                }
            }
            include_once $ugamela_root_path . 'includes/ataki.' . $phpEx;
            // Calcul de la duree de traitement (initialisation)
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $starttime = $mtime;
            $walka = walka($CurrentSet, $TargetSet, $CurrentTechno, $TargetTechno);
            // Calcul de la duree de traitement (calcul)
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $endtime = $mtime;
            $totaltime = $endtime - $starttime;
            // Ce qu'il reste de l'attaquant
            $CurrentSet = $walka["atakujacy"];
            // Ce qu'il reste de l'attaqué
            $TargetSet = $walka["wrog"];
            // Le resultat de la bataille
            $FleetResult = $walka["wygrana"];
            // Rapport long (rapport de bataille detaillé)
            $dane_do_rw = $walka["dane_do_rw"];
            // Rapport court (cdr + unitées perdues)
            $zlom = $walka["zlom"];
            $FleetArray = "";
            $FleetAmount = 0;
            $FleetStorage = 0;
            foreach ($CurrentSet as $Ship => $Count) {
                $FleetStorage += $pricelist[$Ship]["capacity"] * $Count['count'];
                $FleetArray .= $Ship . "," . $Count['count'] . ";";
                $FleetAmount += $Count['count'];
            }
            // Au cas ou le p'tit rigolo qu'a envoyé la flotte y avait mis des ressources ...
            $FleetStorage -= $FleetRow["fleet_resource_metal"];
            $FleetStorage -= $FleetRow["fleet_resource_crystal"];
            $FleetStorage -= $FleetRow["fleet_resource_deuterium"];
            $TargetPlanetUpd = "";
            if (!is_null($TargetSet)) {
                foreach ($TargetSet as $Ship => $Count) {
                    $TargetPlanetUpd .= "`" . $resource[$Ship] . "` = '" . $Count['count'] . "', ";
                }
            }
            // Determination des ressources pillées
            $Mining['metal'] = 0;
            $Mining['crystal'] = 0;
            $Mining['deuter'] = 0;
            if ($FleetResult == "a") {
                if ($FleetStorage > 0) {
                    $metal = $TargetPlanet['metal'] / 2;
                    $crystal = $TargetPlanet['crystal'] / 2;
                    $deuter = $TargetPlanet["deuterium"] / 2;
                    if ($metal > $FleetStorage / 3) {
                        $Mining['metal'] = $FleetStorage / 3;
                        $FleetStorage = $FleetStorage - $Mining['metal'];
                    } else {
                        $Mining['metal'] = $metal;
                        $FleetStorage = $FleetStorage - $Mining['metal'];
                    }
                    if ($crystal > $FleetStorage / 2) {
                        $Mining['crystal'] = $FleetStorage / 2;
                        $FleetStorage = $FleetStorage - $Mining['crystal'];
                    } else {
                        $Mining['crystal'] = $crystal;
                        $FleetStorage = $FleetStorage - $Mining['crystal'];
                    }
                    if ($deuter > $FleetStorage) {
                        $Mining['deuter'] = $FleetStorage;
                        $FleetStorage = $FleetStorage - $Mining['deuter'];
                    } else {
                        $Mining['deuter'] = $deuter;
                        $FleetStorage = $FleetStorage - $Mining['deuter'];
                    }
                }
            }
            $Mining['metal'] = round($Mining['metal']);
            $Mining['crystal'] = round($Mining['crystal']);
            $Mining['deuter'] = round($Mining['deuter']);
            // Mise a jour de l'enregistrement de la planete attaquée
            $QryUpdateTarget = "UPDATE {{table}} SET ";
            $QryUpdateTarget .= $TargetPlanetUpd;
            $QryUpdateTarget .= "`metal` = `metal` - '" . $Mining['metal'] . "', ";
            $QryUpdateTarget .= "`crystal` = `crystal` - '" . $Mining['crystal'] . "', ";
            $QryUpdateTarget .= "`deuterium` = `deuterium` - '" . $Mining['deuter'] . "' ";
            $QryUpdateTarget .= "WHERE ";
            $QryUpdateTarget .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryUpdateTarget .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryUpdateTarget .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
            $QryUpdateTarget .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "' ";
            $QryUpdateTarget .= "LIMIT 1;";
            doquery($QryUpdateTarget, 'planets');
            // Mise a jour du champ de ruine devant la planete attaquée
            $QryUpdateGalaxy = "UPDATE {{table}} SET ";
            $QryUpdateGalaxy .= "`metal` = `metal` + '" . $zlom['metal'] . "', ";
            $QryUpdateGalaxy .= "`crystal` = `crystal` + '" . $zlom['crystal'] . "' ";
            $QryUpdateGalaxy .= "WHERE ";
            $QryUpdateGalaxy .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryUpdateGalaxy .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryUpdateGalaxy .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' ";
            $QryUpdateGalaxy .= "LIMIT 1;";
            doquery($QryUpdateGalaxy, 'galaxy');
            // Là on va discuter le bout de gras pour voir s'il y a moyen d'avoir une Lune !
            $FleetDebris = $zlom['metal'] + $zlom['crystal'];
            $StrAttackerUnits = sprintf($lang['sys_attacker_lostunits'], $zlom["atakujacy"]);
            $StrDefenderUnits = sprintf($lang['sys_defender_lostunits'], $zlom["wrog"]);
            $StrRuins = sprintf($lang['sys_gcdrunits'], $zlom["metal"], $lang['Metal'], $zlom['crystal'], $lang['Crystal']);
            $DebrisField = $StrAttackerUnits . "<br />" . $StrDefenderUnits . "<br />" . $StrRuins;
            $MoonChance = $FleetDebris / 100000000;
            if ($FleetDebris > 2000000000) {
                $MoonChance = 20;
            }
            if ($FleetDebris < 100000000) {
                $UserChance = 0;
                $ChanceMoon = "";
            } elseif ($FleetDebris >= 100000000) {
                $UserChance = mt_rand(1, 100);
                $ChanceMoon = sprintf($lang['sys_moonproba'], $MoonChance);
            }
            if ($UserChance > 0 and $UserChance <= $MoonChance and $galenemyrow['id_luna'] == 0) {
                $TargetPlanetName = CreateOneMoonRecord($FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet'], $TargetUserID, $FleetRow['fleet_start_time'], '', $MoonChance);
                $GottenMoon = sprintf($lang['sys_moonbuilt'], $TargetPlanetName, $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            } elseif ($UserChance = 0 or $UserChance > $MoonChance) {
                $GottenMoon = "";
            }
            $AttackDate = date("r", $FleetRow["fleet_start_time"]);
            $title = sprintf($lang['sys_attack_title'], $AttackDate);
            $raport = "<center><table><tr><td>" . $title . "<br />";
            $zniszczony = false;
            $a_zestrzelona = 0;
            $AttackTechon['A'] = $CurrentTechno["military_tech"] * 10;
            $AttackTechon['B'] = $CurrentTechno["defence_tech"] * 10;
            $AttackTechon['C'] = $CurrentTechno["shield_tech"] * 10;
            $AttackerData = sprintf($lang['sys_attack_attacker_pos'], $CurrentUser["username"], $FleetRow['fleet_start_galaxy'], $FleetRow['fleet_start_system'], $FleetRow['fleet_start_planet']);
            $AttackerTech = sprintf($lang['sys_attack_techologies'], $AttackTechon['A'], $AttackTechon['B'], $AttackTechon['C']);
            $DefendTechon['A'] = $TargetTechno["military_tech"] * 10;
            $DefendTechon['B'] = $TargetTechno["defence_tech"] * 10;
            $DefendTechon['C'] = $TargetTechno["shield_tech"] * 10;
            $DefenderData = sprintf($lang['sys_attack_defender_pos'], $TargetUser["username"], $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            $DefenderTech = sprintf($lang['sys_attack_techologies'], $DefendTechon['A'], $DefendTechon['B'], $DefendTechon['C']);
            foreach ($dane_do_rw as $a => $b) {
                $raport .= "<table border=1 width=100%><tr><th><br /><center>" . $AttackerData . "<br />" . $AttackerTech . "<table border=1>";
                if ($b["atakujacy"]['count'] > 0) {
                    $raport1 = "<tr><th>" . $lang['sys_ship_type'] . "</th>";
                    $raport2 = "<tr><th>" . $lang['sys_ship_count'] . "</th>";
                    $raport3 = "<tr><th>" . $lang['sys_ship_weapon'] . "</th>";
                    $raport4 = "<tr><th>" . $lang['sys_ship_shield'] . "</th>";
                    $raport5 = "<tr><th>" . $lang['sys_ship_armour'] . "</th>";
                    foreach ($b["atakujacy"] as $Ship => $Data) {
                        if (is_numeric($Ship)) {
                            if ($Data['count'] > 0) {
                                $raport1 .= "<th>" . $lang["tech_rc"][$Ship] . "</th>";
                                $raport2 .= "<th>" . $Data['count'] . "</th>";
                                $raport3 .= "<th>" . round($Data["atak"] / $Data['count']) . "</th>";
                                $raport4 .= "<th>" . round($Data["tarcza"] / $Data['count']) . "</th>";
                                $raport5 .= "<th>" . round($Data["obrona"] / $Data['count']) . "</th>";
                            }
                        }
                    }
                    $raport1 .= "</tr>";
                    $raport2 .= "</tr>";
                    $raport3 .= "</tr>";
                    $raport4 .= "</tr>";
                    $raport5 .= "</tr>";
                    $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                } else {
                    if ($a == 2) {
                        $a_zestrzelona = 1;
                    }
                    $zniszczony = true;
                    $raport .= "<br />" . $lang['sys_destroyed'];
                }
                $raport .= "</table></center></th></tr></table>";
                $raport .= "<table border=1 width=100%><tr><th><br /><center>" . $DefenderData . "<br />" . $DefenderTech . "<table border=1>";
                if ($b["wrog"]['count'] > 0) {
                    $raport1 = "<tr><th>" . $lang['sys_ship_type'] . "</th>";
                    $raport2 = "<tr><th>" . $lang['sys_ship_count'] . "</th>";
                    $raport3 = "<tr><th>" . $lang['sys_ship_weapon'] . "</th>";
                    $raport4 = "<tr><th>" . $lang['sys_ship_shield'] . "</th>";
                    $raport5 = "<tr><th>" . $lang['sys_ship_armour'] . "</th>";
                    foreach ($b["wrog"] as $Ship => $Data) {
                        if (is_numeric($Ship)) {
                            if ($Data['count'] > 0) {
                                $raport1 .= "<th>" . $lang["tech_rc"][$Ship] . "</th>";
                                $raport2 .= "<th>" . $Data['count'] . "</th>";
                                $raport3 .= "<th>" . round($Data["atak"] / $Data['count']) . "</th>";
                                $raport4 .= "<th>" . round($Data["tarcza"] / $Data['count']) . "</th>";
                                $raport5 .= "<th>" . round($Data["obrona"] / $Data['count']) . "</th>";
                            }
                        }
                    }
                    $raport1 .= "</tr>";
                    $raport2 .= "</tr>";
                    $raport3 .= "</tr>";
                    $raport4 .= "</tr>";
                    $raport5 .= "</tr>";
                    $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                } else {
                    $zniszczony = true;
                    $raport .= "<br />" . $lang['sys_destroyed'];
                }
                $raport .= "</table></center></th></tr></table>";
                if ($zniszczony == false and !($a == 8)) {
                    $AttackWaveStat = sprintf($lang['sys_attack_attack_wave'], floor($b["atakujacy"]["atak"]), floor($b["wrog"]["tarcza"]));
                    $DefendWavaStat = sprintf($lang['sys_attack_defend_wave'], floor($b["wrog"]["atak"]), floor($b["atakujacy"]["tarcza"]));
                    $raport .= "<br /><center>" . $AttackWaveStat . "<br />" . $DefendWavaStat . "</center>";
                }
            }
            switch ($FleetResult) {
                case "a":
                    $Pillage = sprintf($lang['sys_stealed_ressources'], $Mining['metal'], $lang['metal'], $Mining['crystal'], $lang['crystal'], $Mining['deuter'], $lang['Deuterium']);
                    $raport .= $lang['sys_attacker_won'] . "<br />" . $Pillage . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $ChanceMoon . "<br />";
                    $raport .= $GottenMoon . "<br />";
                    break;
                case "r":
                    $raport .= $lang['sys_both_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $ChanceMoon . "<br />";
                    $raport .= $GottenMoon . "<br />";
                    break;
                case "w":
                    $raport .= $lang['sys_defender_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $ChanceMoon . "<br />";
                    $raport .= $GottenMoon . "<br />";
                    doquery("DELETE FROM {{table}} WHERE `fleet_id` = '" . $FleetRow["fleet_id"] . "';", 'fleets');
                    break;
                default:
                    break;
            }
            $SimMessage = sprintf($lang['sys_rapport_build_time'], $totaltime);
            $raport .= $SimMessage . "</table>";
            $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
            $rid = md5($raport);
            $QryInsertRapport = "INSERT INTO {{table}} SET ";
            $QryInsertRapport .= "`time` = UNIX_TIMESTAMP(), ";
            $QryInsertRapport .= "`id_owner1` = '" . $FleetRow['fleet_owner'] . "', ";
            $QryInsertRapport .= "`id_owner2` = '" . $TargetUserID . "', ";
            $QryInsertRapport .= "`rid` = '" . $rid . "', ";
            $QryInsertRapport .= "`a_zestrzelona` = '" . $a_zestrzelona . "', ";
            $QryInsertRapport .= "`raport` = '" . addslashes($raport) . "';";
            doquery($QryInsertRapport, 'rw');
            // Colorisation du résumé de rapport pour l'attaquant
            $raport = "<a href # OnClick=\"f( 'rw.php?raport=" . $rid . "', '');\" >";
            $raport .= "<center>";
            if ($FleetResult == "a") {
                $raport .= "<font color=\"green\">";
            } elseif ($FleetResult == "r") {
                $raport .= "<font color=\"orange\">";
            } elseif ($FleetResult == "w") {
                $raport .= "<font color=\"red\">";
            }
            $raport .= $lang['sys_mess_attack_report'] . " [" . $FleetRow['fleet_end_galaxy'] . ":" . $FleetRow['fleet_end_system'] . ":" . $FleetRow['fleet_end_planet'] . "] </font></a><br /><br />";
            $raport .= "<font color=\"red\">" . $lang['sys_perte_attaquant'] . ": " . $zlom["atakujacy"] . "</font>";
            $raport .= "<font color=\"green\">   " . $lang['sys_perte_defenseur'] . ":" . $zlom["wrog"] . "</font><br />";
            $raport .= $lang['sys_gain'] . " " . $lang['Metal'] . ":<font color=\"#adaead\">" . $Mining['metal'] . "</font>   " . $lang['Crystal'] . ":<font color=\"#ef51ef\">" . $Mining['crystal'] . "</font>   " . $lang['Deuterium'] . ":<font color=\"#f77542\">" . $Mining['deuter'] . "</font><br />";
            $raport .= $lang['sys_debris'] . " " . $lang['Metal'] . ":<font color=\"#adaead\">" . $zlom['metal'] . "</font>   " . $lang['Crystal'] . ":<font color=\"#ef51ef\">" . $zlom['crystal'] . "</font><br /></center>";
            $Mining['metal'] = $Mining['metal'] + $FleetRow["fleet_resource_metal"];
            $Mining['crystal'] = $Mining['crystal'] + $FleetRow["fleet_resource_crystal"];
            $Mining['deuter'] = $Mining['deuter'] + $FleetRow["fleet_resource_deuterium"];
            $QryUpdateFleet = "UPDATE {{table}} SET ";
            $QryUpdateFleet .= "`fleet_amount` = '" . $FleetAmount . "', ";
            $QryUpdateFleet .= "`fleet_array` = '" . $FleetArray . "', ";
            $QryUpdateFleet .= "`fleet_mess` = '1', ";
            $QryUpdateFleet .= "`fleet_resource_metal` = '" . $Mining['metal'] . "', ";
            $QryUpdateFleet .= "`fleet_resource_crystal` = '" . $Mining['crystal'] . "', ";
            $QryUpdateFleet .= "`fleet_resource_deuterium` = '" . $Mining['deuter'] . "' ";
            $QryUpdateFleet .= "WHERE fleet_id = '" . $FleetRow['fleet_id'] . "' ";
            $QryUpdateFleet .= "LIMIT 1 ;";
            doquery($QryUpdateFleet, 'fleets');
            SendSimpleMessage($CurrentUserID, '', $FleetRow['fleet_start_time'], 3, $lang['sys_mess_tower'], $lang['sys_mess_attack_report'], $raport);
            // Ajout d'un point au compteur de raids
            $RaidsTotal = $CurrentUser['raids'] + 1;
            if ($FleetResult == "a") {
                $RaidsWin = $CurrentUser['raidswin'] + 1;
                $QryUpdateRaidsCompteur = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur .= "`raidswin` ='" . $RaidsWin . "', ";
                $QryUpdateRaidsCompteur .= "`raids` ='" . $RaidsTotal . "' ";
                $QryUpdateRaidsCompteur .= "WHERE id = '" . $CurrentUserID . "' ";
                $QryUpdateRaidsCompteur .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur, 'users');
            } elseif ($FleetResult == "r" || $FleetResult == "w") {
                $RaidsLoose = $CurrentUser['raidsloose'] + 1;
                $QryUpdateRaidsCompteur = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur .= "`raidsloose` ='" . $RaidsLoose . "', ";
                $QryUpdateRaidsCompteur .= "`raids` ='" . $RaidsTotal . "' ";
                $QryUpdateRaidsCompteur .= "WHERE id = '" . $CurrentUserID . "' ";
                $QryUpdateRaidsCompteur .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur, 'users');
            }
            // Colorisation du résumé de rapport pour l'attaquant
            $raport2 = "<a href # OnClick=\"f( 'rw.php?raport=" . $rid . "', '');\" >";
            $raport2 .= "<center>";
            if ($FleetResult == "a") {
                $raport2 .= "<font color=\"green\">";
            } elseif ($FleetResult == "r") {
                $raport2 .= "<font color=\"orange\">";
            } elseif ($FleetResult == "w") {
                $raport2 .= "<font color=\"red\">";
            }
            $raport2 .= $lang['sys_mess_attack_report'] . " [" . $FleetRow['fleet_end_galaxy'] . ":" . $FleetRow['fleet_end_system'] . ":" . $FleetRow['fleet_end_planet'] . "] </font></a><br /><br />";
            SendSimpleMessage($TargetUserID, '', $FleetRow['fleet_start_time'], 3, $lang['sys_mess_tower'], $lang['sys_mess_attack_report'], $raport2);
        }
        // Retour de flotte (s'il en reste)
        $fquery = "";
        if ($FleetRow['fleet_end_time'] <= time()) {
            if (!is_null($CurrentSet)) {
                foreach ($CurrentSet as $Ship => $Count) {
                    $fquery .= "`" . $resource[$Ship] . "` = `" . $resource[$Ship] . "` + '" . $Count['count'] . "', ";
                }
            } else {
                $fleet = explode(";", $FleetRow['fleet_array']);
                foreach ($fleet as $a => $b) {
                    if ($b != '') {
                        $a = explode(",", $b);
                        $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                    }
                }
            }
            doquery("DELETE FROM {{table}} WHERE `fleet_id` = " . $FleetRow["fleet_id"], 'fleets');
            if (!($FleetResult == "w")) {
                $QryUpdatePlanet = "UPDATE {{table}} SET ";
                $QryUpdatePlanet .= $fquery;
                $QryUpdatePlanet .= "`metal` = `metal` + " . $FleetRow['fleet_resource_metal'] . ", ";
                $QryUpdatePlanet .= "`crystal` = `crystal` + " . $FleetRow['fleet_resource_crystal'] . ", ";
                $QryUpdatePlanet .= "`deuterium` = `deuterium` + " . $FleetRow['fleet_resource_deuterium'] . " ";
                $QryUpdatePlanet .= "WHERE ";
                $QryUpdatePlanet .= "`galaxy` = " . $FleetRow['fleet_start_galaxy'] . " AND ";
                $QryUpdatePlanet .= "`system` = " . $FleetRow['fleet_start_system'] . " AND ";
                $QryUpdatePlanet .= "`planet` = " . $FleetRow['fleet_start_planet'] . " AND ";
                $QryUpdatePlanet .= "`planet_type` = " . $FleetRow['fleet_start_type'] . " LIMIT 1 ;";
                doquery($QryUpdatePlanet, 'planets');
            }
        }
    }
}
Пример #2
0
/**
* MissionCaseDestruction.php
* Commencé Par Tom
* Terminé par juju67 et Moa666
* @version 1
* @copyright 2008
*/
function MissionCaseDestruction($FleetRow)
{
    global $user, $phpEx, $ugamela_root_path, $pricelist, $lang, $resource, $CombatCaps;
    includeLang('system');
    if ($FleetRow['fleet_start_time'] <= time()) {
        if ($FleetRow['fleet_mess'] == 0) {
            if (!isset($CombatCaps[202]['sd'])) {
                message("<font color=\"red\">" . $lang['sys_no_vars'] . "</font>", $lang['sys_error'], "fleet." . $phpEx, 2);
            }
            $QryTargetPlanet = "SELECT * FROM {{table}} ";
            $QryTargetPlanet .= "WHERE ";
            $QryTargetPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryTargetPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryTargetPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
            $QryTargetPlanet .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "';";
            $TargetPlanet = doquery($QryTargetPlanet, 'planets', true);
            $TargetUserID = $TargetPlanet['id_owner'];
            $QryDepPlanet = "SELECT * FROM {{table}} ";
            $QryDepPlanet .= "WHERE ";
            $QryDepPlanet .= "`galaxy` = '" . $FleetRow['fleet_start_galaxy'] . "' AND ";
            $QryDepPlanet .= "`system` = '" . $FleetRow['fleet_start_system'] . "' AND ";
            $QryDepPlanet .= "`planet` = '" . $FleetRow['fleet_start_planet'] . "' AND ";
            $QryDepPlanet .= "`planet_type` = '" . $FleetRow['fleet_start_type'] . "';";
            $DepPlanet = doquery($QryDepPlanet, 'planets', true);
            $DepName = $DepPlanet['name'];
            $QryCurrentUser = "******";
            $QryCurrentUser .= "WHERE ";
            $QryCurrentUser .= "`id` = '" . $FleetRow['fleet_owner'] . "';";
            $CurrentUser = doquery($QryCurrentUser, 'users', true);
            $CurrentUserID = $CurrentUser['id'];
            $QryTargetUser = "******";
            $QryTargetUser .= "WHERE ";
            $QryTargetUser .= "`id` = '" . $TargetUserID . "';";
            $TargetUser = doquery($QryTargetUser, 'users', true);
            $QryTargetTech = "SELECT ";
            $QryTargetTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryTargetTech .= "FROM {{table}} ";
            $QryTargetTech .= "WHERE ";
            $QryTargetTech .= "`id` = '" . $TargetUserID . "';";
            $TargetTechno = doquery($QryTargetTech, 'users', true);
            $QryCurrentTech = "SELECT ";
            $QryCurrentTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryCurrentTech .= "FROM {{table}} ";
            $QryCurrentTech .= "WHERE ";
            $QryCurrentTech .= "`id` = '" . $CurrentUserID . "';";
            $CurrentTechno = doquery($QryCurrentTech, 'users', true);
            for ($SetItem = 200; $SetItem < 500; $SetItem++) {
                if ($TargetPlanet[$resource[$SetItem]] > 0) {
                    $TargetSet[$SetItem]['count'] = $TargetPlanet[$resource[$SetItem]];
                }
            }
            $TheFleet = explode(";", $FleetRow['fleet_array']);
            foreach ($TheFleet as $a => $b) {
                if ($b != '') {
                    $a = explode(",", $b);
                    $CurrentSet[$a[0]]['count'] = $a[1];
                }
            }
            include_once $ugamela_root_path . 'includes/ataki.' . $phpEx;
            // Calcul de la duree de traitement (initialisation)
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $starttime = $mtime;
            $walka = walka($CurrentSet, $TargetSet, $CurrentTechno, $TargetTechno);
            // Calcul de la duree de traitement (calcul)
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $endtime = $mtime;
            $totaltime = $endtime - $starttime;
            // Ce qu'il reste de l'attaquant
            $CurrentSet = $walka["atakujacy"];
            // Ce qu'il reste de l'attaqué
            $TargetSet = $walka["wrog"];
            // Le resultat de la bataille
            $FleetResult = $walka["wygrana"];
            // Rapport long (rapport de bataille detaillé)
            $dane_do_rw = $walka["dane_do_rw"];
            // Rapport court (cdr + unitées perdues)
            $zlom = $walka["zlom"];
            $FleetArray = "";
            $FleetAmount = 0;
            $FleetStorage = 0;
            foreach ($CurrentSet as $Ship => $Count) {
                $FleetStorage += $pricelist[$Ship]["capacity"] * $Count['count'];
                $FleetArray .= $Ship . "," . $Count['count'] . ";";
                $FleetAmount += $Count['count'];
            }
            $TargetPlanetUpd = "";
            if (!is_null($TargetSet)) {
                foreach ($TargetSet as $Ship => $Count) {
                    $TargetPlanetUpd .= "`" . $resource[$Ship] . "` = '" . $Count['count'] . "', ";
                }
            }
            if ($FleetResult == "a") {
                //debut des probabilite de destruction
                //Nous y voila! l attaquant a gagne, nous allons voir ses chances de detruire la lune
                $destructionl1 = 100 - sqrt($TargetPlanet['diameter']);
                $destructionl21 = $destructionl1 * sqrt($CurrentSet['214']['count']);
                $destructionl2 = $destructionl21 / 1;
                //ici c est la sensibilite de la destruction 1 c est l equivalent d ogame a 12 on a environ 2% pour 1000 rip
                //maintenant qu on sait quelle chance tantons la destruction, faites vos jeux croupier
                //$chance = round($destructionl2); // En pourcentage
                if ($destructionl2 > 100) {
                    $chance = '100';
                } else {
                    $chance = round($destructionl2);
                    // En pourcentage
                }
                $tirage = mt_rand(0, 100);
                $probalune = sprintf($lang['sys_destruc_lune'], $chance);
                if ($tirage <= $chance) {
                    $resultat = '1';
                    // lune detruite
                    $finmess = $lang['sys_destruc_reussi'];
                    //destruction de la lune dabord dans la liste des planetes puis dans la liste des lunes et enfin dans la galaxie
                    doquery("DELETE FROM {{table}} WHERE `id` = '" . $TargetPlanet['id'] . "';", 'planets');
                    $Qrydestructionlune = "UPDATE {{table}} SET ";
                    $Qrydestructionlune .= "`destruyed` = '1' ";
                    $Qrydestructionlune .= "WHERE ";
                    $Qrydestructionlune .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
                    $Qrydestructionlune .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
                    $Qrydestructionlune .= "`lunapos` = '" . $FleetRow['fleet_end_planet'] . "' ";
                    $Qrydestructionlune .= "LIMIT 1 ;";
                    //$Qrydestructionlune .= ";";
                    doquery($Qrydestructionlune, 'lunas');
                    $Qrydestructionlune2 = "UPDATE {{table}} SET ";
                    $Qrydestructionlune2 .= "`id_luna` = '0' ";
                    $Qrydestructionlune2 .= "WHERE ";
                    $Qrydestructionlune2 .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
                    $Qrydestructionlune2 .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
                    $Qrydestructionlune2 .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' ";
                    $Qrydestructionlune2 .= "LIMIT 1 ;";
                    //$Qrydestructionlune2 .= ";";
                    doquery($Qrydestructionlune2, 'galaxy');
                    //la lune est detruite, alors on redirige les flottes sur la planete
                    $QryDetFleets1 = "UPDATE {{table}} SET ";
                    $QryDetFleets1 .= "`fleet_start_type` = '1' ";
                    $QryDetFleets1 .= "WHERE ";
                    $QryDetFleets1 .= "`fleet_start_galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
                    $QryDetFleets1 .= "`fleet_start_system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
                    $QryDetFleets1 .= "`fleet_start_planet` = '" . $FleetRow['fleet_end_planet'] . "' ";
                    $QryDetFleets1 .= ";";
                    doquery($QryDetFleets1, 'fleets');
                    $QryDetFleets2 = "UPDATE {{table}} SET ";
                    $QryDetFleets2 .= "`fleet_end_type` = '1' ";
                    $QryDetFleets2 .= "WHERE ";
                    $QryDetFleets2 .= "`fleet_end_galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
                    $QryDetFleets2 .= "`fleet_end_system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
                    $QryDetFleets2 .= "`fleet_end_planet` = '" . $FleetRow['fleet_end_planet'] . "' ";
                    $QryDetFleets2 .= ";";
                    doquery($QryDetFleets2, 'fleets');
                    //maintenant on va verifier si la vue du joueur n est pas calee sur la lune qui est detruite
                    if ($TargetUser['current_planet'] == $TargetPlanet['id']) {
                        $QryPlanet = "SELECT * FROM {{table}} ";
                        $QryPlanet .= "WHERE ";
                        $QryPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
                        $QryPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
                        $QryPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
                        $QryPlanet .= "`planet_type` = '1';";
                        $Planet = doquery($QryPlanet, 'planets', true);
                        $IDPlanet = $Planet['id'];
                        $Qryvue = "UPDATE {{table}} SET ";
                        $Qryvue .= "`current_planet` = '" . $IDPlanet . "' ";
                        $Qryvue .= "WHERE ";
                        $Qryvue .= "`id` = '" . $TargetUserID . "' ";
                        $Qryvue .= ";";
                        doquery($Qryvue, 'users');
                    }
                } else {
                    $resultat = '0';
                }
                // la lune a resistee
                //la lune a resistee, alors voyons les chances que les rip soient detruites
                $destructionrip = sqrt($TargetPlanet['diameter']) / 2;
                //maintenant qu on sait quelle chance tantons la destruction, allez roule croupier
                $chance2 = round($destructionrip);
                // En pourcentage
                if ($resultat == 0) {
                    $tirage2 = mt_rand(0, 100);
                    $probarip = sprintf($lang['sys_destruc_rip'], $chance2);
                    if ($tirage2 <= $chance2) {
                        $resultat2 = ' detruite 1';
                        // RIP detruite
                        $finmess = $lang['sys_destruc_echec'];
                        doquery("DELETE FROM {{table}} WHERE `fleet_id` = '" . $FleetRow["fleet_id"] . "';", 'fleets');
                    } else {
                        $resultat2 = 'sauvees 0';
                        // les RIP sont saines et sauves
                        $finmess = $lang['sys_destruc_null'];
                    }
                }
                //fin
            }
            $introdestruc = sprintf($lang['sys_destruc_mess'], $DepName, $FleetRow['fleet_start_galaxy'], $FleetRow['fleet_start_system'], $FleetRow['fleet_start_planet'], $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            // Mise a jour de l'enregistrement de la planete attaquée
            $QryUpdateTarget = "UPDATE {{table}} SET ";
            $QryUpdateTarget .= $TargetPlanetUpd;
            $QryUpdateTarget .= "`metal` = `metal` - '" . $Mining['metal'] . "', ";
            $QryUpdateTarget .= "`crystal` = `crystal` - '" . $Mining['crystal'] . "', ";
            $QryUpdateTarget .= "`deuterium` = `deuterium` - '" . $Mining['deuter'] . "' ";
            $QryUpdateTarget .= "WHERE ";
            $QryUpdateTarget .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryUpdateTarget .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryUpdateTarget .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
            $QryUpdateTarget .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "' ";
            $QryUpdateTarget .= "LIMIT 1;";
            doquery($QryUpdateTarget, 'planets');
            // Mise a jour du champ de ruine devant la planete attaquée
            $QryUpdateGalaxy = "UPDATE {{table}} SET ";
            $QryUpdateGalaxy .= "`metal` = `metal` + '" . $zlom['metal'] . "', ";
            $QryUpdateGalaxy .= "`crystal` = `crystal` + '" . $zlom['crystal'] . "' ";
            $QryUpdateGalaxy .= "WHERE ";
            $QryUpdateGalaxy .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryUpdateGalaxy .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryUpdateGalaxy .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' ";
            $QryUpdateGalaxy .= "LIMIT 1;";
            doquery($QryUpdateGalaxy, 'galaxy');
            // Là on va discuter le bout de gras pour voir s'il y a moyen d'avoir une Lune !
            $FleetDebris = $zlom['metal'] + $zlom['crystal'];
            $StrAttackerUnits = sprintf($lang['sys_attacker_lostunits'], $zlom["atakujacy"]);
            $StrDefenderUnits = sprintf($lang['sys_defender_lostunits'], $zlom["wrog"]);
            $StrRuins = sprintf($lang['sys_gcdrunits'], $zlom["metal"], $lang['Metal'], $zlom['crystal'], $lang['Crystal']);
            $DebrisField = $StrAttackerUnits . "<br />" . $StrDefenderUnits . "<br />" . $StrRuins;
            $MoonChance = $FleetDebris / 100000;
            if ($FleetDebris > 2000000) {
                $MoonChance = 20;
            }
            if ($FleetDebris < 100000) {
                $UserChance = 0;
                $ChanceMoon = "";
            } elseif ($FleetDebris >= 100000) {
                $UserChance = mt_rand(1, 100);
                $ChanceMoon = sprintf($lang['sys_moonproba'], $MoonChance);
            }
            if ($UserChance > 0 and $UserChance <= $MoonChance and $galenemyrow['id_luna'] == 0) {
                $TargetPlanetName = CreateOneMoonRecord($FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet'], $TargetUserID, $FleetRow['fleet_start_time'], '', $MoonChance);
                $GottenMoon = sprintf($lang['sys_moonbuilt'], $TargetPlanetName, $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            } elseif ($UserChance = 0 or $UserChance > $MoonChance) {
                $GottenMoon = "";
            }
            $AttackDate = date("r", $FleetRow["fleet_start_time"]);
            $title = sprintf($lang['sys_destruc_title'], $AttackDate);
            $raport = "<center><table><tr><td>" . $title . "<br />";
            $zniszczony = false;
            $a_zestrzelona = 0;
            $AttackTechon['A'] = $CurrentTechno["military_tech"] * 10;
            $AttackTechon['B'] = $CurrentTechno["defence_tech"] * 10;
            $AttackTechon['C'] = $CurrentTechno["shield_tech"] * 10;
            $AttackerData = sprintf($lang['sys_attack_attacker_pos'], $CurrentUser["username"], $FleetRow['fleet_start_galaxy'], $FleetRow['fleet_start_system'], $FleetRow['fleet_start_planet']);
            $AttackerTech = sprintf($lang['sys_attack_techologies'], $AttackTechon['A'], $AttackTechon['B'], $AttackTechon['C']);
            $DefendTechon['A'] = $TargetTechno["military_tech"] * 10;
            $DefendTechon['B'] = $TargetTechno["defence_tech"] * 10;
            $DefendTechon['C'] = $TargetTechno["shield_tech"] * 10;
            $DefenderData = sprintf($lang['sys_attack_defender_pos'], $TargetUser["username"], $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            $DefenderTech = sprintf($lang['sys_attack_techologies'], $DefendTechon['A'], $DefendTechon['B'], $DefendTechon['C']);
            foreach ($dane_do_rw as $a => $b) {
                $raport .= "<table border=1 width=100%><tr><th><br /><center>" . $AttackerData . "<br />" . $AttackerTech . "<table border=1>";
                if ($b["atakujacy"]['count'] > 0) {
                    $raport1 = "<tr><th>" . $lang['sys_ship_type'] . "</th>";
                    $raport2 = "<tr><th>" . $lang['sys_ship_count'] . "</th>";
                    $raport3 = "<tr><th>" . $lang['sys_ship_weapon'] . "</th>";
                    $raport4 = "<tr><th>" . $lang['sys_ship_shield'] . "</th>";
                    $raport5 = "<tr><th>" . $lang['sys_ship_armour'] . "</th>";
                    foreach ($b["atakujacy"] as $Ship => $Data) {
                        if (is_numeric($Ship)) {
                            if ($Data['count'] > 0) {
                                $raport1 .= "<th>" . $lang["tech_rc"][$Ship] . "</th>";
                                $raport2 .= "<th>" . $Data['count'] . "</th>";
                                $raport3 .= "<th>" . round($Data["atak"] / $Data['count']) . "</th>";
                                $raport4 .= "<th>" . round($Data["tarcza"] / $Data['count']) . "</th>";
                                $raport5 .= "<th>" . round($Data["obrona"] / $Data['count']) . "</th>";
                            }
                        }
                    }
                    $raport1 .= "</tr>";
                    $raport2 .= "</tr>";
                    $raport3 .= "</tr>";
                    $raport4 .= "</tr>";
                    $raport5 .= "</tr>";
                    $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                } else {
                    if ($a == 2) {
                        $a_zestrzelona = 1;
                    }
                    $zniszczony = true;
                    $raport .= "<br />" . $lang['sys_destroyed'];
                }
                $raport .= "</table></center></th></tr></table>";
                $raport .= "<table border=1 width=100%><tr><th><br /><center>" . $DefenderData . "<br />" . $DefenderTech . "<table border=1>";
                if ($b["wrog"]['count'] > 0) {
                    $raport1 = "<tr><th>" . $lang['sys_ship_type'] . "</th>";
                    $raport2 = "<tr><th>" . $lang['sys_ship_count'] . "</th>";
                    $raport3 = "<tr><th>" . $lang['sys_ship_weapon'] . "</th>";
                    $raport4 = "<tr><th>" . $lang['sys_ship_shield'] . "</th>";
                    $raport5 = "<tr><th>" . $lang['sys_ship_armour'] . "</th>";
                    foreach ($b["wrog"] as $Ship => $Data) {
                        if (is_numeric($Ship)) {
                            if ($Data['count'] > 0) {
                                $raport1 .= "<th>" . $lang["tech_rc"][$Ship] . "</th>";
                                $raport2 .= "<th>" . $Data['count'] . "</th>";
                                $raport3 .= "<th>" . round($Data["atak"] / $Data['count']) . "</th>";
                                $raport4 .= "<th>" . round($Data["tarcza"] / $Data['count']) . "</th>";
                                $raport5 .= "<th>" . round($Data["obrona"] / $Data['count']) . "</th>";
                            }
                        }
                    }
                    $raport1 .= "</tr>";
                    $raport2 .= "</tr>";
                    $raport3 .= "</tr>";
                    $raport4 .= "</tr>";
                    $raport5 .= "</tr>";
                    $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                } else {
                    $zniszczony = true;
                    $raport .= "<br />" . $lang['sys_destroyed'];
                }
                $raport .= "</table></center></th></tr></table>";
                if ($zniszczony == false and !($a == 8)) {
                    $AttackWaveStat = sprintf($lang['sys_attack_attack_wave'], floor($b["atakujacy"]["atak"]), floor($b["wrog"]["tarcza"]));
                    $DefendWavaStat = sprintf($lang['sys_attack_defend_wave'], floor($b["wrog"]["atak"]), floor($b["atakujacy"]["tarcza"]));
                    $raport .= "<br /><center>" . $AttackWaveStat . "<br />" . $DefendWavaStat . "</center>";
                }
            }
            switch ($FleetResult) {
                case "a":
                    $raport .= $lang['sys_attacker_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $introdestruc . "<br />";
                    $raport .= $lang['sys_destruc_mess1'];
                    $raport .= $finmess . "<br />";
                    $raport .= $probalune . "<br />";
                    $raport .= $probarip . "<br />";
                    break;
                case "r":
                    $raport .= $lang['sys_both_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $introdestruc . "<br />";
                    $raport .= $lang['sys_destruc_stop'] . "<br />";
                    break;
                case "w":
                    $raport .= $lang['sys_defender_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $introdestruc . "<br />";
                    $raport .= $lang['sys_destruc_stop'] . "<br />";
                    doquery("DELETE FROM {{table}} WHERE `fleet_id` = '" . $FleetRow["fleet_id"] . "';", 'fleets');
                    break;
                default:
                    break;
            }
            $SimMessage = sprintf($lang['sys_rapport_build_time'], $totaltime);
            $raport .= $SimMessage . "</table>";
            $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
            $rid = md5($raport);
            $QryInsertRapport = "INSERT INTO {{table}} SET ";
            $QryInsertRapport .= "`time` = UNIX_TIMESTAMP(), ";
            $QryInsertRapport .= "`id_owner1` = '" . $FleetRow['fleet_owner'] . "', ";
            $QryInsertRapport .= "`id_owner2` = '" . $TargetUserID . "', ";
            $QryInsertRapport .= "`rid` = '" . $rid . "', ";
            $QryInsertRapport .= "`a_zestrzelona` = '" . $a_zestrzelona . "', ";
            $QryInsertRapport .= "`raport` = '" . addslashes($raport) . "';";
            doquery($QryInsertRapport, 'rw');
            // Colorisation du résumé de rapport pour l'attaquant
            $raport = "<a href # OnClick=\"f( 'rw.php?raport=" . $rid . "', '');\" >";
            $raport .= "<center>";
            if ($FleetResult == "a") {
                $raport .= "<font color=\"green\">";
            } elseif ($FleetResult == "r") {
                $raport .= "<font color=\"orange\">";
            } elseif ($FleetResult == "w") {
                $raport .= "<font color=\"red\">";
            }
            $raport .= $lang['sys_mess_destruc_report'] . " [" . $FleetRow['fleet_end_galaxy'] . ":" . $FleetRow['fleet_end_system'] . ":" . $FleetRow['fleet_end_planet'] . "] </font></a><br /><br />";
            $raport .= "<font color=\"red\">" . $lang['sys_perte_attaquant'] . ": " . $zlom["atakujacy"] . "</font>";
            $raport .= "<font color=\"green\">   " . $lang['sys_perte_defenseur'] . ":" . $zlom["wrog"] . "</font><br />";
            $raport .= $lang['sys_debris'] . " " . $lang['Metal'] . ":<font color=\"#adaead\">" . $zlom['metal'] . "</font>   " . $lang['Crystal'] . ":<font color=\"#ef51ef\">" . $zlom['crystal'] . "</font><br /></center>";
            $QryUpdateFleet = "UPDATE {{table}} SET ";
            $QryUpdateFleet .= "`fleet_amount` = '" . $FleetAmount . "', ";
            $QryUpdateFleet .= "`fleet_array` = '" . $FleetArray . "', ";
            $QryUpdateFleet .= "`fleet_mess` = '1' ";
            $QryUpdateFleet .= "WHERE fleet_id = '" . $FleetRow['fleet_id'] . "' ";
            $QryUpdateFleet .= "LIMIT 1 ;";
            doquery($QryUpdateFleet, 'fleets');
            SendSimpleMessage($CurrentUserID, '', $FleetRow['fleet_start_time'], 3, $lang['sys_mess_tower'], $lang['sys_mess_destruc_report'], $raport);
            // Colorisation du résumé de rapport pour le defenseur
            $raport2 = "<a href # OnClick=\"f( 'rw.php?raport=" . $rid . "', '');\" >";
            $raport2 .= "<center>";
            if ($FleetResult == "a") {
                $raport2 .= "<font color=\"red\">";
            } elseif ($FleetResult == "r") {
                $raport2 .= "<font color=\"orange\">";
            } elseif ($FleetResult == "w") {
                $raport2 .= "<font color=\"green\">";
            }
            $raport2 .= $lang['sys_mess_destruc_report'] . " [" . $FleetRow['fleet_end_galaxy'] . ":" . $FleetRow['fleet_end_system'] . ":" . $FleetRow['fleet_end_planet'] . "] </font></a><br /><br />";
            SendSimpleMessage($TargetUserID, '', $FleetRow['fleet_start_time'], 3, $lang['sys_mess_tower'], $lang['sys_mess_destruc_report'], $raport2);
        }
        // Retour de flotte (s'il en reste)
        $fquery = "";
        if ($FleetRow['fleet_end_time'] <= time()) {
            if (!is_null($CurrentSet)) {
                foreach ($CurrentSet as $Ship => $Count) {
                    $fquery .= "`" . $resource[$Ship] . "` = `" . $resource[$Ship] . "` + '" . $Count['count'] . "', ";
                }
            } else {
                $fleet = explode(";", $FleetRow['fleet_array']);
                foreach ($fleet as $a => $b) {
                    if ($b != '') {
                        $a = explode(",", $b);
                        $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                    }
                }
            }
            doquery("DELETE FROM {{table}} WHERE `fleet_id` = " . $FleetRow["fleet_id"], 'fleets');
            if (!($FleetResult == "w")) {
                $QryUpdatePlanet = "UPDATE {{table}} SET ";
                $QryUpdatePlanet .= $fquery;
                $QryUpdatePlanet .= "`metal` = `metal` + " . $FleetRow['fleet_resource_metal'] . ", ";
                $QryUpdatePlanet .= "`crystal` = `crystal` + " . $FleetRow['fleet_resource_crystal'] . ", ";
                $QryUpdatePlanet .= "`deuterium` = `deuterium` + " . $FleetRow['fleet_resource_deuterium'] . " ";
                $QryUpdatePlanet .= "WHERE ";
                $QryUpdatePlanet .= "`galaxy` = " . $FleetRow['fleet_start_galaxy'] . " AND ";
                $QryUpdatePlanet .= "`system` = " . $FleetRow['fleet_start_system'] . " AND ";
                $QryUpdatePlanet .= "`planet` = " . $FleetRow['fleet_start_planet'] . " AND ";
                $QryUpdatePlanet .= "`planet_type` = " . $FleetRow['fleet_start_type'] . " LIMIT 1 ;";
                doquery($QryUpdatePlanet, 'planets');
            }
        }
    }
}
Пример #3
0
/**
 * MissionCaseDestruction.php
 * Par Tom, et oué enfin un truc bien codé par moi ^^
 * Largement inspiré de MissionCaseAttack quand même
 *
 * @version 1
 * @copyright 2008
 */
function MissionCaseDestruction($FleetRow)
{
    global $user, $lang;
    includeLang('system');
    if ($FleetRow['fleet_mess'] == 0) {
        if ($FleetRow['fleet_start_time'] < time()) {
            // La flotte arrive pour démollir la lune
            $QryTargetPlanet = "SELECT * FROM {{table}} ";
            $QryTargetPlanet .= "WHERE ";
            $QryTargetPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryTargetPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryTargetPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "';";
            $TargetPlanet = doquery($QryTargetPlanet, 'planets', true);
            $TargetUserID = $TargetPlanet['id_owner'];
            $QryCurrentUser = "******";
            $QryCurrentUser .= "WHERE ";
            $QryCurrentUser .= "`id` = '" . $FleetRow['fleet_owner'] . "';";
            $CurrentUser = doquery($QryCurrentUser, 'users', true);
            $CurrentUserID = $CurrentUser['id'];
            $QryTargetUser = "******";
            $QryTargetUser .= "WHERE ";
            $QryTargetUser .= "`id` = '" . $TargetUserID . "';";
            $TargetUser = doquery($QryTargetUser, 'users', true);
            $QryTargetTech = "SELECT ";
            $QryTargetTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryTargetTech .= "FROM {{table}} ";
            $QryTargetTech .= "WHERE ";
            $QryTargetTech .= "`id` = '" . $TargetUserID . "';";
            $TargetTechno = doquery($QryTargetTech, 'users', true);
            $QryCurrentTech = "SELECT ";
            $QryCurrentTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryCurrentTech .= "FROM {{table}} ";
            $QryCurrentTech .= "WHERE ";
            $QryCurrentTech .= "`id` = '" . $CurrentUserID . "';";
            $CurrentTechno = doquery($QryCurrentTech, 'users', true);
            for ($SetItem = 200; $SetItem < 500; $SetItem++) {
                if ($TargetPlanet[$resource[$SetItem]] > 0) {
                    $TargetSet[$SetItem]["ilosc"] = $TargetPlanet[$resource[$SetItem]];
                }
            }
            $TheFleet = explode(";", $FleetRow['fleet_array']);
            foreach ($TheFleet as $a => $b) {
                if ($b != '') {
                    $a = explode(",", $b);
                    $CurrentSet[$a[0]]["ilosc"] = $a[1];
                }
            }
            // On inclue que le fichier d'attaque et pas de calcul de ressources car on est là pour DETRUIRE !
            include_once XNOVA_ROOT_PATH . 'includes/ataki.php';
            // Les petits calculs divers pour le futur rapport
            // Initialisation
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $starttime = $mtime;
            // Et là on attaque le gros, l'attaque !
            $Destruction = walka($CurrentSet, $TargetSet, $CurrentTechno, $TargetTechno);
            // la on a  les données de l'attaque on va commencer les petits calculs
            // Calcul de la duree de traitement (calcul) (Merci Chlorel)
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $endtime = $mtime;
            $totaltime = $endtime - $starttime;
            // Ce qu'il reste de l'attaquant
            $CurrentSet = $Destruction["atakujacy"];
            // Ce qu'il reste de l'attaqué
            $TargetSet = $Destruction["wrog"];
            // Le resultat de la bataille
            $FleetResult = $Destruction["wygrana"];
            // Rapport long (rapport de bataille detaillé)
            $RapportLong = $Destruction["dane_do_rw"];
            // Rapport court (cdr + unitées perdues)
            $RapportCourt = $Destruction["zlom"];
            $FleetAmount = 0;
            foreach ($CurrentSet as $Ship => $Count) {
                $FleetStorage += $pricelist[$Ship]["capacity"] * $Count["ilosc"];
                $FleetArray .= $Ship . "," . $Count["ilosc"] . ";";
                $FleetAmount += $Count["ilosc"];
            }
            // Si le defenseur a perdu (GG l'attaquant !)
            if ($FleetResult == "a") {
            }
        }
    }
}
Пример #4
0
function MissionCaseAttack($FleetRow)
{
    global $user, $phpEx, $ugamela_root_path, $pricelist, $lang, $resource, $CombatCaps;
    if ($FleetRow['fleet_start_time'] <= time()) {
        if ($FleetRow['fleet_mess'] == 0) {
            if (!isset($CombatCaps[202]['sd'])) {
                message("<font color=\"red\">" . $lang['sys_no_vars'] . "</font>", $lang['sys_error'], "fleet." . $phpEx, 2);
            }
            $QryTargetPlanet = "SELECT * FROM {{table}} ";
            $QryTargetPlanet .= "WHERE ";
            $QryTargetPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryTargetPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryTargetPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
            $QryTargetPlanet .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "';";
            $TargetPlanet = doquery($QryTargetPlanet, 'planets', true);
            $TargetUserID = $TargetPlanet['id_owner'];
            $QryCurrentUser = "******";
            $QryCurrentUser .= "WHERE ";
            $QryCurrentUser .= "`id` = '" . $FleetRow['fleet_owner'] . "';";
            $CurrentUser = doquery($QryCurrentUser, 'users', true);
            $CurrentUserID = $CurrentUser['id'];
            $QryTargetUser = "******";
            $QryTargetUser .= "WHERE ";
            $QryTargetUser .= "`id` = '" . $TargetUserID . "';";
            $TargetUser = doquery($QryTargetUser, 'users', true);
            $QryTargetTech = "SELECT ";
            $QryTargetTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryTargetTech .= "FROM {{table}} ";
            $QryTargetTech .= "WHERE ";
            $QryTargetTech .= "`id` = '" . $TargetUserID . "';";
            $TargetTechno = doquery($QryTargetTech, 'users', true);
            $QryCurrentTech = "SELECT ";
            $QryCurrentTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryCurrentTech .= "FROM {{table}} ";
            $QryCurrentTech .= "WHERE ";
            $QryCurrentTech .= "`id` = '" . $CurrentUserID . "';";
            $CurrentTechno = doquery($QryCurrentTech, 'users', true);
            for ($SetItem = 200; $SetItem < 500; $SetItem++) {
                if ($TargetPlanet[$resource[$SetItem]] > 0) {
                    $TargetSet[$SetItem]['count'] = $TargetPlanet[$resource[$SetItem]];
                }
            }
            $TheFleet = explode(";", $FleetRow['fleet_array']);
            foreach ($TheFleet as $a => $b) {
                if ($b != '') {
                    $a = explode(",", $b);
                    $CurrentSet[$a[0]]['count'] = $a[1];
                }
            }
            include_once $ugamela_root_path . 'includes/ataki.' . $phpEx;
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $starttime = $mtime;
            $walka = walka($CurrentSet, $TargetSet, $CurrentTechno, $TargetTechno);
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $endtime = $mtime;
            $totaltime = $endtime - $starttime;
            $CurrentSet = $walka["atakujacy"];
            $TargetSet = $walka["wrog"];
            $FleetResult = $walka["wygrana"];
            $dane_do_rw = $walka["dane_do_rw"];
            $zlom = $walka["zlom"];
            $FleetArray = "";
            $FleetAmount = 0;
            $FleetStorage = 0;
            foreach ($CurrentSet as $Ship => $Count) {
                $FleetStorage += $pricelist[$Ship]["capacity"] * $Count['count'];
                $FleetArray .= $Ship . "," . $Count['count'] . ";";
                $FleetAmount += $Count['count'];
            }
            $FleetStorage -= $FleetRow["fleet_resource_metal"];
            $FleetStorage -= $FleetRow["fleet_resource_crystal"];
            $FleetStorage -= $FleetRow["fleet_resource_deuterium"];
            $TargetPlanetUpd = "";
            if (!is_null($TargetSet)) {
                foreach ($TargetSet as $Ship => $Count) {
                    $TargetPlanetUpd .= "`" . $resource[$Ship] . "` = '" . $Count['count'] . "', ";
                }
            }
            $Mining['metal'] = 0;
            $Mining['crystal'] = 0;
            $Mining['deuter'] = 0;
            if ($FleetResult == "a") {
                if ($FleetStorage > 0) {
                    $metal = $TargetPlanet['metal'] / 2;
                    $crystal = $TargetPlanet['crystal'] / 2;
                    $deuter = $TargetPlanet["deuterium"] / 2;
                    if ($metal > $FleetStorage / 3) {
                        $Mining['metal'] = $FleetStorage / 3;
                        $FleetStorage = $FleetStorage - $Mining['metal'];
                    } else {
                        $Mining['metal'] = $metal;
                        $FleetStorage = $FleetStorage - $Mining['metal'];
                    }
                    if ($crystal > $FleetStorage / 2) {
                        $Mining['crystal'] = $FleetStorage / 2;
                        $FleetStorage = $FleetStorage - $Mining['crystal'];
                    } else {
                        $Mining['crystal'] = $crystal;
                        $FleetStorage = $FleetStorage - $Mining['crystal'];
                    }
                    if ($deuter > $FleetStorage) {
                        $Mining['deuter'] = $FleetStorage;
                        $FleetStorage = $FleetStorage - $Mining['deuter'];
                    } else {
                        $Mining['deuter'] = $deuter;
                        $FleetStorage = $FleetStorage - $Mining['deuter'];
                    }
                }
            }
            $Mining['metal'] = round($Mining['metal']);
            $Mining['crystal'] = round($Mining['crystal']);
            $Mining['deuter'] = round($Mining['deuter']);
            $QryUpdateTarget = "UPDATE {{table}} SET ";
            $QryUpdateTarget .= $TargetPlanetUpd;
            $QryUpdateTarget .= "`metal` = `metal` - '" . $Mining['metal'] . "', ";
            $QryUpdateTarget .= "`crystal` = `crystal` - '" . $Mining['crystal'] . "', ";
            $QryUpdateTarget .= "`deuterium` = `deuterium` - '" . $Mining['deuter'] . "' ";
            $QryUpdateTarget .= "WHERE ";
            $QryUpdateTarget .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryUpdateTarget .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryUpdateTarget .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' AND ";
            $QryUpdateTarget .= "`planet_type` = '" . $FleetRow['fleet_end_type'] . "' ";
            $QryUpdateTarget .= "LIMIT 1;";
            doquery($QryUpdateTarget, 'planets');
            $QryUpdateGalaxy = "UPDATE {{table}} SET ";
            $QryUpdateGalaxy .= "`metal` = `metal` + '" . $zlom['metal'] . "', ";
            $QryUpdateGalaxy .= "`crystal` = `crystal` + '" . $zlom['crystal'] . "' ";
            $QryUpdateGalaxy .= "WHERE ";
            $QryUpdateGalaxy .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryUpdateGalaxy .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryUpdateGalaxy .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "' ";
            $QryUpdateGalaxy .= "LIMIT 1;";
            doquery($QryUpdateGalaxy, 'galaxy');
            $FleetDebris = $zlom['metal'] + $zlom['crystal'];
            $StrAttackerUnits = sprintf($lang['sys_attacker_lostunits'], $zlom["atakujacy"]);
            $StrDefenderUnits = sprintf($lang['sys_defender_lostunits'], $zlom["wrog"]);
            $StrRuins = sprintf($lang['sys_gcdrunits'], $zlom["metal"], $lang['Metal'], $zlom['crystal'], $lang['Crystal']);
            // mod TOP KB
            $strunitsgesamt = $zlom["atakujacy"] + $zlom["wrog"];
            $user1lostunits = $zlom["atakujacy"];
            $user1shotunits = $zlom["wrog"];
            $user2lostunits = $zlom["wrog"];
            $user2shotunits = $zlom["atakujacy"];
            $strtruemmerfeld = $zlom["metal"] + $zlom["crystal"];
            $strtruemmermetal = $zlom["metal"];
            $strtruemmercrystal = $zlom["crystal"];
            // mod TOP KB
            $DebrisField = $StrAttackerUnits . "<br />" . $StrDefenderUnits . "<br />" . $StrRuins;
            $MoonChance = $FleetDebris / 100000;
            if ($FleetDebris > 2000000) {
                $MoonChance = 20;
            }
            if ($FleetDebris < 100000) {
                $UserChance = 0;
                $ChanceMoon = "";
            } elseif ($FleetDebris >= 100000) {
                $UserChance = mt_rand(1, 100);
                $ChanceMoon = sprintf($lang['sys_moonproba'], $MoonChance);
            }
            if ($UserChance > 0 and $UserChance <= $MoonChance and $galenemyrow['id_luna'] == 0) {
                $TargetPlanetName = CreateOneMoonRecord($FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet'], $TargetUserID, '', $MoonChance);
                $GottenMoon = sprintf($lang['sys_moonbuilt'], $TargetPlanetName, $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            } elseif ($UserChance = 0 or $UserChance > $MoonChance) {
                $GottenMoon = "";
            }
            $AttackDate = date("r", $FleetRow["fleet_start_time"]);
            $title = sprintf($lang['sys_attack_title'], $AttackDate);
            $raport = "<center><table><tr><td>" . $title . "<br />";
            $zniszczony = false;
            $a_zestrzelona = 0;
            $AttackTechon['A'] = $CurrentTechno["military_tech"] * 10;
            $AttackTechon['B'] = $CurrentTechno["defence_tech"] * 10;
            $AttackTechon['C'] = $CurrentTechno["shield_tech"] * 10;
            $AttackerData = sprintf($lang['sys_attack_attacker_pos'], $CurrentUser["username"], $FleetRow['fleet_start_galaxy'], $FleetRow['fleet_start_system'], $FleetRow['fleet_start_planet']);
            $AttackerTech = sprintf($lang['sys_attack_techologies'], $AttackTechon['A'], $AttackTechon['B'], $AttackTechon['C']);
            $DefendTechon['A'] = $TargetTechno["military_tech"] * 10;
            $DefendTechon['B'] = $TargetTechno["defence_tech"] * 10;
            $DefendTechon['C'] = $TargetTechno["shield_tech"] * 10;
            $DefenderData = sprintf($lang['sys_attack_defender_pos'], $TargetUser["username"], $FleetRow['fleet_end_galaxy'], $FleetRow['fleet_end_system'], $FleetRow['fleet_end_planet']);
            $DefenderTech = sprintf($lang['sys_attack_techologies'], $DefendTechon['A'], $DefendTechon['B'], $DefendTechon['C']);
            // mod TOP KB
            $angreifer = $CurrentUser["username"];
            $defender = $TargetUser["username"];
            // mod TOP KB
            foreach ($dane_do_rw as $a => $b) {
                $raport .= "<table border=1 width=100%><tr><th><br /><center>" . $AttackerData . "<br />" . $AttackerTech . "<table border=1>";
                if ($b["atakujacy"]['count'] > 0) {
                    $raport1 = "<tr><th>" . $lang['sys_ship_type'] . "</th>";
                    $raport2 = "<tr><th>" . $lang['sys_ship_count'] . "</th>";
                    $raport3 = "<tr><th>" . $lang['sys_ship_weapon'] . "</th>";
                    $raport4 = "<tr><th>" . $lang['sys_ship_shield'] . "</th>";
                    $raport5 = "<tr><th>" . $lang['sys_ship_armour'] . "</th>";
                    foreach ($b["atakujacy"] as $Ship => $Data) {
                        if (is_numeric($Ship)) {
                            if ($Data['count'] > 0) {
                                $raport1 .= "<th>" . $lang["tech_rc"][$Ship] . "</th>";
                                $raport2 .= "<th>" . $Data['count'] . "</th>";
                                $raport3 .= "<th>" . round($Data["atak"] / $Data['count']) . "</th>";
                                $raport4 .= "<th>" . round($Data["tarcza"] / $Data['count']) . "</th>";
                                $raport5 .= "<th>" . round($Data["obrona"] / $Data['count']) . "</th>";
                            }
                        }
                    }
                    $raport1 .= "</tr>";
                    $raport2 .= "</tr>";
                    $raport3 .= "</tr>";
                    $raport4 .= "</tr>";
                    $raport5 .= "</tr>";
                    $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                } else {
                    if ($a == 2) {
                        $a_zestrzelona = 1;
                    }
                    $zniszczony = true;
                    $raport .= "<br />" . $lang['sys_destroyed'];
                }
                $raport .= "</table></center></th></tr></table>";
                $raport .= "<table border=1 width=100%><tr><th><br /><center>" . $DefenderData . "<br />" . $DefenderTech . "<table border=1>";
                if ($b["wrog"]['count'] > 0) {
                    $raport1 = "<tr><th>" . $lang['sys_ship_type'] . "</th>";
                    $raport2 = "<tr><th>" . $lang['sys_ship_count'] . "</th>";
                    $raport3 = "<tr><th>" . $lang['sys_ship_weapon'] . "</th>";
                    $raport4 = "<tr><th>" . $lang['sys_ship_shield'] . "</th>";
                    $raport5 = "<tr><th>" . $lang['sys_ship_armour'] . "</th>";
                    foreach ($b["wrog"] as $Ship => $Data) {
                        if (is_numeric($Ship)) {
                            if ($Data['count'] > 0) {
                                $raport1 .= "<th>" . $lang["tech_rc"][$Ship] . "</th>";
                                $raport2 .= "<th>" . $Data['count'] . "</th>";
                                $raport3 .= "<th>" . round($Data["atak"] / $Data['count']) . "</th>";
                                $raport4 .= "<th>" . round($Data["tarcza"] / $Data['count']) . "</th>";
                                $raport5 .= "<th>" . round($Data["obrona"] / $Data['count']) . "</th>";
                            }
                        }
                    }
                    $raport1 .= "</tr>";
                    $raport2 .= "</tr>";
                    $raport3 .= "</tr>";
                    $raport4 .= "</tr>";
                    $raport5 .= "</tr>";
                    $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                } else {
                    $zniszczony = true;
                    $raport .= "<br />" . $lang['sys_destroyed'];
                }
                $raport .= "</table></center></th></tr></table>";
                if ($zniszczony == false and !($a == 8)) {
                    $AttackWaveStat = sprintf($lang['sys_attack_attack_wave'], floor($b["atakujacy"]["atak"]), floor($b["wrog"]["tarcza"]));
                    $DefendWavaStat = sprintf($lang['sys_attack_defend_wave'], floor($b["wrog"]["atak"]), floor($b["atakujacy"]["tarcza"]));
                    $raport .= "<br /><center>" . $AttackWaveStat . "<br />" . $DefendWavaStat . "</center>";
                }
            }
            switch ($FleetResult) {
                case "a":
                    $Pillage = sprintf($lang['sys_stealed_ressources'], $Mining['metal'], $lang['metal'], $Mining['crystal'], $lang['crystal'], $Mining['deuter'], $lang['Deuterium']);
                    $raport .= $lang['sys_attacker_won'] . "<br />" . $Pillage . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $ChanceMoon . "<br />";
                    $raport .= $GottenMoon . "<br />";
                    break;
                case "r":
                    $raport .= $lang['sys_both_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $ChanceMoon . "<br />";
                    $raport .= $GottenMoon . "<br />";
                    break;
                case "w":
                    $raport .= $lang['sys_defender_won'] . "<br />";
                    $raport .= $DebrisField . "<br />";
                    $raport .= $ChanceMoon . "<br />";
                    $raport .= $GottenMoon . "<br />";
                    doquery("DELETE FROM {{table}} WHERE `fleet_id` = '" . $FleetRow["fleet_id"] . "';", 'fleets');
                    break;
                default:
                    break;
            }
            $SimMessage = sprintf($lang['sys_rapport_build_time'], $totaltime);
            $raport .= $SimMessage . "</table>";
            $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
            $rid = md5($raport);
            $QryInsertRapport = "INSERT INTO {{table}} SET ";
            $QryInsertRapport .= "`time` = UNIX_TIMESTAMP(), ";
            $QryInsertRapport .= "`id_owner1` = '" . $FleetRow['fleet_owner'] . "', ";
            $QryInsertRapport .= "`id_owner2` = '" . $TargetUserID . "', ";
            $QryInsertRapport .= "`rid` = '" . $rid . "', ";
            $QryInsertRapport .= "`a_zestrzelona` = '" . $a_zestrzelona . "', ";
            $QryInsertRapport .= "`raport` = '" . addslashes($raport) . "';";
            doquery($QryInsertRapport, 'rw');
            // mod TOP KB
            $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
            $rid = md5($raport);
            $QryInserttopkb = "INSERT INTO {{table}} SET ";
            $QryInserttopkb .= "`time` = UNIX_TIMESTAMP(), ";
            $QryInserttopkb .= "`id_owner1` = '" . $FleetRow['fleet_owner'] . "', ";
            $QryInserttopkb .= "`angreifer` = '" . $angreifer . "', ";
            $QryInserttopkb .= "`id_owner2` = '" . $TargetUserID . "', ";
            $QryInserttopkb .= "`defender` = '" . $defender . "', ";
            $QryInserttopkb .= "`gesamtunits` = '" . $strunitsgesamt . "', ";
            $QryInserttopkb .= "`gesamttruemmer` = '" . $strtruemmerfeld . "', ";
            $QryInserttopkb .= "`rid` = '" . $rid . "', ";
            $QryInserttopkb .= "`a_zestrzelona` = '" . $a_zestrzelona . "', ";
            $QryInserttopkb .= "`raport` = '" . addslashes($raport) . "',";
            $QryInserttopkb .= "`fleetresult` = '" . $FleetResult . "';";
            doquery("LOCK TABLE {{table}} WRITE", 'topkb');
            doquery($QryInserttopkb, 'topkb');
            doquery("UNLOCK TABLES", '');
            $user1stat = $FleetRow['fleet_owner'];
            $user2stat = $TargetUserID;
            // mod TOP KB
            $raport = "<a href # OnClick=\"f( 'rw.php?raport=" . $rid . "', '');\" >";
            $raport .= "<center>";
            if ($FleetResult == "a") {
                $raport .= "<font color=\"green\">";
            } elseif ($FleetResult == "r") {
                $raport .= "<font color=\"orange\">";
            } elseif ($FleetResult == "w") {
                $raport .= "<font color=\"red\">";
            }
            $raport .= $lang['sys_mess_attack_report'] . " [" . $FleetRow['fleet_end_galaxy'] . ":" . $FleetRow['fleet_end_system'] . ":" . $FleetRow['fleet_end_planet'] . "] </font></a><br /><br />";
            $raport .= "<font color=\"red\">" . $lang['sys_perte_attaquant'] . ": " . $zlom["atakujacy"] . "</font>";
            $raport .= "<font color=\"green\">   " . $lang['sys_perte_defenseur'] . ":" . $zlom["wrog"] . "</font><br />";
            $raport .= $lang['sys_gain'] . " " . $lang['Metal'] . ":<font color=\"#adaead\">" . $Mining['metal'] . "</font>   " . $lang['Crystal'] . ":<font color=\"#ef51ef\">" . $Mining['crystal'] . "</font>   " . $lang['Deuterium'] . ":<font color=\"#f77542\">" . $Mining['deuter'] . "</font><br />";
            $raport .= $lang['sys_debris'] . " " . $lang['Metal'] . ":<font color=\"#adaead\">" . $zlom['metal'] . "</font>   " . $lang['Crystal'] . ":<font color=\"#ef51ef\">" . $zlom['crystal'] . "</font><br /></center>";
            $Mining['metal'] = $Mining['metal'] + $FleetRow["fleet_resource_metal"];
            $Mining['crystal'] = $Mining['crystal'] + $FleetRow["fleet_resource_crystal"];
            $Mining['deuter'] = $Mining['deuter'] + $FleetRow["fleet_resource_deuterium"];
            $QryUpdateFleet = "UPDATE {{table}} SET ";
            $QryUpdateFleet .= "`fleet_amount` = '" . $FleetAmount . "', ";
            $QryUpdateFleet .= "`fleet_array` = '" . $FleetArray . "', ";
            $QryUpdateFleet .= "`fleet_mess` = '1', ";
            $QryUpdateFleet .= "`fleet_resource_metal` = '" . $Mining['metal'] . "', ";
            $QryUpdateFleet .= "`fleet_resource_crystal` = '" . $Mining['crystal'] . "', ";
            $QryUpdateFleet .= "`fleet_resource_deuterium` = '" . $Mining['deuter'] . "' ";
            $QryUpdateFleet .= "WHERE fleet_id = '" . $FleetRow['fleet_id'] . "' ";
            $QryUpdateFleet .= "LIMIT 1 ;";
            doquery($QryUpdateFleet, 'fleets');
            SendSimpleMessage($CurrentUserID, '', $FleetRow['fleet_start_time'], 3, $lang['sys_mess_tower'], $lang['sys_mess_attack_report'], $raport);
            $raport2 = "<a href # OnClick=\"f( 'rw.php?raport=" . $rid . "', '');\" >";
            $raport2 .= "<center>";
            if ($FleetResult == "a") {
                $raport2 .= "<font color=\"green\">";
            } elseif ($FleetResult == "r") {
                $raport2 .= "<font color=\"orange\">";
            } elseif ($FleetResult == "w") {
                $raport2 .= "<font color=\"red\">";
            }
            $raport2 .= $lang['sys_mess_attack_report'] . " [" . $FleetRow['fleet_end_galaxy'] . ":" . $FleetRow['fleet_end_system'] . ":" . $FleetRow['fleet_end_planet'] . "] </font></a><br /><br />";
            SendSimpleMessage($TargetUserID, '', $FleetRow['fleet_start_time'], 3, $lang['sys_mess_tower'], $lang['sys_mess_attack_report'], $raport2);
            $AddPoint = $CurrentUser['xpraid'] + 1;
            $AddPoint2 = $TargetUser['xpraid'] + 1;
            $QryUpdateOfficier = "UPDATE {{table}} SET ";
            $QryUpdateOfficier .= "`xpraid` = '" . $AddPoint . "' ";
            $QryUpdateOfficier .= "WHERE id = '" . $CurrentUserID . "' ";
            $QryUpdateOfficier .= "LIMIT 1 ;";
            doquery($QryUpdateOfficier, 'users');
            $QryUpdateOfficier2 = "UPDATE {{table}} SET ";
            $QryUpdateOfficier2 .= "`xpraid` = '" . $AddPoint2 . "' ";
            $QryUpdateOfficier2 .= "WHERE id = '" . $TargetUserID . "' ";
            $QryUpdateOfficier2 .= "LIMIT 1 ;";
            doquery($QryUpdateOfficier2, 'users');
            // Ajout d'un point au compteur de raids
            $RaidsTotal = $CurrentUser['raids'] + 1;
            $RaidsTotal2 = $TargetUser['raids'] + 1;
            if ($FleetResult == "a") {
                $RaidsWin = $CurrentUser['raidswin'] + 1;
                $QryUpdateRaidsCompteur = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur .= "`raidswin` ='" . $RaidsWin . "', ";
                $QryUpdateRaidsCompteur .= "`raids` ='" . $RaidsTotal . "' ";
                $QryUpdateRaidsCompteur .= "WHERE id = '" . $CurrentUserID . "' ";
                $QryUpdateRaidsCompteur .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur, 'users');
                $RaidsLoose2 = $TargetUser['raidsloose'] + 1;
                $QryUpdateRaidsCompteur2 = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur2 .= "`raidsloose` ='" . $RaidsLoose2 . "', ";
                $QryUpdateRaidsCompteur2 .= "`raids` ='" . $RaidsTotal2 . "' ";
                $QryUpdateRaidsCompteur2 .= "WHERE id = '" . $TargetUserID . "' ";
                $QryUpdateRaidsCompteur2 .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur2, 'users');
            } elseif ($FleetResult == "w") {
                $RaidsLoose = $CurrentUser['raidsloose'] + 1;
                $QryUpdateRaidsCompteur = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur .= "`raidsloose` ='" . $RaidsLoose . "', ";
                $QryUpdateRaidsCompteur .= "`raids` ='" . $RaidsTotal . "' ";
                $QryUpdateRaidsCompteur .= "WHERE id = '" . $CurrentUserID . "' ";
                $QryUpdateRaidsCompteur .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur, 'users');
                $RaidsWin2 = $TargetUser['raidswin'] + 1;
                $QryUpdateRaidsCompteur2 = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur2 .= "`raidswin` ='" . $RaidsWin2 . "', ";
                $QryUpdateRaidsCompteur2 .= "`raids` ='" . $RaidsTotal2 . "' ";
                $QryUpdateRaidsCompteur2 .= "WHERE id = '" . $TargetUserID . "' ";
                $QryUpdateRaidsCompteur2 .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur2, 'users');
            } elseif ($FleetResult == "r") {
                $RaidsDraw = $CurrentUser['raidsdraw'] + 1;
                $QryUpdateRaidsCompteur = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur .= "`raidsdraw` ='" . $RaidsDraw . "', ";
                $QryUpdateRaidsCompteur .= "`raids` ='" . $RaidsTotal . "' ";
                $QryUpdateRaidsCompteur .= "WHERE id = '" . $CurrentUserID . "' ";
                $QryUpdateRaidsCompteur .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur, 'users');
                $RaidsDraw2 = $TargetUser['raidsdraw'] + 1;
                $QryUpdateRaidsCompteur2 = "UPDATE {{table}} SET ";
                $QryUpdateRaidsCompteur2 .= "`raidsdraw` ='" . $RaidsDraw2 . "', ";
                $QryUpdateRaidsCompteur2 .= "`raids` ='" . $RaidsTotal2 . "' ";
                $QryUpdateRaidsCompteur2 .= "WHERE id = '" . $TargetUserID . "' ";
                $QryUpdateRaidsCompteur2 .= "LIMIT 1 ;";
                doquery($QryUpdateRaidsCompteur2, 'users');
            }
        }
        // Updaten Spieler Datenbank
        $user1 = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $user1stat . "';", 'users');
        while ($user1data = mysql_fetch_assoc($user1)) {
            $strtruemmermetaluser1 = $strtruemmermetal + $user1data['kbmetal'];
            $strtruemmercrystaluser1 = $strtruemmercrystal + $user1data['kbcrystal'];
            $user1lostunits = $user1lostunits + $user1data['lostunits'];
            $user1shotunits = $user1shotunits + $user1data['desunits'];
            $user1wons = $user1data['wons'];
            $user1loos = $user1data['loos'];
            $user1draws = $user1data['draws'];
        }
        $user2 = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $user2stat . "';", 'users');
        while ($user2data = mysql_fetch_assoc($user2)) {
            $strtruemmermetaluser2 = $strtruemmermetal + $user2data['kbmetal'];
            $strtruemmercrystaluser2 = $strtruemmercrystal + $user2data['kbcrystal'];
            $user2lostunits = $user2lostunits + $user2data['lostunits'];
            $user2shotunits = $user2shotunits + $user2data['desunits'];
            $user2wons = $user2data['wons'];
            $user2loos = $user2data['loos'];
            $user2draws = $user2data['draws'];
        }
        if ($FleetResult == "a") {
            $user1wons++;
            $user2loos++;
        } elseif ($FleetResult == "r") {
            $user1draws++;
            $user2draws++;
        } elseif ($FleetResult == "w") {
            $user1loos++;
            $user2wons++;
        }
        //Update Angreifer Truemerfeld, Kampfergebniss und Units
        $userstat = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $user1stat . "';", 'users');
        while ($userwrite = mysql_fetch_assoc($userstat)) {
            $QryUpdateuserstat = "UPDATE {{table}} SET ";
            $QryUpdateuserstat .= "`wons` = '" . $user1wons . "', ";
            $QryUpdateuserstat .= "`loos` = '" . $user1loos . "', ";
            $QryUpdateuserstat .= "`draws` = '" . $user1draws . "', ";
            $QryUpdateuserstat .= "`kbmetal` = '" . $strtruemmermetaluser1 . "', ";
            $QryUpdateuserstat .= "`kbcrystal` = '" . $strtruemmercrystaluser1 . "', ";
            $QryUpdateuserstat .= "`lostunits` = '" . $user1lostunits . "', ";
            $QryUpdateuserstat .= "`desunits` = '" . $user1shotunits . "' ";
            $QryUpdateuserstat .= "WHERE ";
            $QryUpdateuserstat .= "`id` = '" . $user1stat . "';";
            doquery($QryUpdateuserstat, 'users');
            //Update Verteidiger Truemerfeld, Kampfergebniss und Units
            $QryUpdateuserstat = "UPDATE {{table}} SET ";
            $QryUpdateuserstat .= "`wons` = '" . $user2wons . "', ";
            $QryUpdateuserstat .= "`loos` = '" . $user2loos . "', ";
            $QryUpdateuserstat .= "`draws` = '" . $user2draws . "', ";
            $QryUpdateuserstat .= "`kbmetal` = '" . $strtruemmermetaluser2 . "', ";
            $QryUpdateuserstat .= "`kbcrystal` = '" . $strtruemmercrystaluser2 . "', ";
            $QryUpdateuserstat .= "`lostunits` = '" . $user2lostunits . "', ";
            $QryUpdateuserstat .= "`desunits` = '" . $user2shotunits . "' ";
            $QryUpdateuserstat .= "WHERE ";
            $QryUpdateuserstat .= "`id` = '" . $user2stat . "';";
            doquery($QryUpdateuserstat, 'users');
        }
        // Ende schreiben in datenbank
        // Retour de flotte (s'il en reste)
        $fquery = "";
        if ($FleetRow['fleet_end_time'] <= time()) {
            if (!is_null($CurrentSet)) {
                foreach ($CurrentSet as $Ship => $Count) {
                    $fquery .= "`" . $resource[$Ship] . "` = `" . $resource[$Ship] . "` + '" . $Count['count'] . "', ";
                }
            } else {
                $fleet = explode(";", $FleetRow['fleet_array']);
                foreach ($fleet as $a => $b) {
                    if ($b != '') {
                        $a = explode(",", $b);
                        $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                    }
                }
            }
            doquery("DELETE FROM {{table}} WHERE `fleet_id` = " . $FleetRow["fleet_id"], 'fleets');
            if (!($FleetResult == "w")) {
                $QryUpdatePlanet = "UPDATE {{table}} SET ";
                $QryUpdatePlanet .= $fquery;
                $QryUpdatePlanet .= "`metal` = `metal` + " . $FleetRow['fleet_resource_metal'] . ", ";
                $QryUpdatePlanet .= "`crystal` = `crystal` + " . $FleetRow['fleet_resource_crystal'] . ", ";
                $QryUpdatePlanet .= "`deuterium` = `deuterium` + " . $FleetRow['fleet_resource_deuterium'] . " ";
                $QryUpdatePlanet .= "WHERE ";
                $QryUpdatePlanet .= "`galaxy` = " . $FleetRow['fleet_start_galaxy'] . " AND ";
                $QryUpdatePlanet .= "`system` = " . $FleetRow['fleet_start_system'] . " AND ";
                $QryUpdatePlanet .= "`planet` = " . $FleetRow['fleet_start_planet'] . " AND ";
                $QryUpdatePlanet .= "`planet_type` = " . $FleetRow['fleet_start_type'] . " LIMIT 1 ;";
                doquery($QryUpdatePlanet, 'planets');
            }
        }
    }
}
Пример #5
0
function touchPlanet(&$planet)
{
    global $resource;
    /*
      No solo actualiza los recursos, tambien checkea los movimientos de flotas.
      Pero solo los que le pertenecen. Checkeando los datos de los tiempos con
      un pequeño loop si es necesario hacerlo.
    */
    //por el momento vamos a resolver el problema de las flotas y la teoria
    //de la lista sabana...
    //primero, sabemos que tenemos una tabla especial. fleet.
    //es cuestion de solo pedir los datos en cuanto al planeta.
    //relacion comienzo y destino. y separarlo con el tiempo
    doquery("LOCK TABLE {{table}}lunas WRITE, {{table}}rw WRITE, {{table}}errors WRITE, {{table}}messages WRITE, {{table}}fleets WRITE, {{table}}planets WRITE, {{table}}galaxy WRITE ,{{table}}users WRITE", "");
    //doquery("LOCK TABLE {{table}} WRITE","fleets");
    $fleetquery = doquery("SELECT * FROM {{table}} WHERE  ((\n\t\tfleet_start_galaxy={$planet['galaxy']} AND\n\t\tfleet_start_system={$planet['system']} AND\n\t\tfleet_start_planet={$planet['planet']}\n\t\t) OR\n\t\t(\n\t\t\tfleet_end_galaxy={$planet['galaxy']} AND\n\t\t\tfleet_end_system={$planet['system']} AND\n\t\t\tfleet_end_planet={$planet['planet']})\n\t\t) AND\n\t\t(\n\t\tfleet_start_time<" . time() . " OR\n\t\tfleet_end_time<" . time() . "\n\t\t)", 'fleets');
    //una vez que se cumple el requerimiento se realiza el loop de la muerte...
    while ($f = mysql_fetch_array($fleetquery)) {
        //no tengo idea de como seguir...
        //depende del tipo de mision, se efectuan diferentes eventos.
        switch ($f["fleet_mission"]) {
            //
            //--[1:Atacar]--------------------------------------------------
            //
            case 1:
                if ($f['fleet_start_time'] <= time()) {
                    if ($f['fleet_mess'] == 0) {
                        global $user, $pricelist;
                        if (!isset($pricelist[202]["sd"])) {
                            message("<font color=\"red\">A vars.php kto podmieni?</font>", "error", "fleet." . $phpEx, 2);
                        }
                        $idwroga = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND planet={$f['fleet_end_planet']}", 'planets', true);
                        $idwrog = $idwroga['id_owner'];
                        $atakujacy_user = doquery("SELECT * FROM {{table}} WHERE id={$f['fleet_owner']}", 'users', true);
                        $wrog_user = doquery("SELECT * FROM {{table}} WHERE id={$idwroga['id_owner']}", 'users', true);
                        $tech_wrog = doquery("SELECT `military_tech`, `defence_tech`, `shield_tech` FROM  {{table}} WHERE id={$idwrog}", 'users', true);
                        $tech_atakujacy = doquery("SELECT `military_tech`, `defence_tech`, `shield_tech` FROM� {{table}} WHERE id={$f["fleet_owner"]}", 'users', true);
                        $jest_wrog = false;
                        for ($i = 200; $i < 500; $i++) {
                            if ($idwroga[$resource[$i]] > 0) {
                                $wrog[$i]["ilosc"] = $idwroga[$resource[$i]];
                                $jest_wrog = true;
                            }
                        }
                        $fleet = explode(";", $f['fleet_array']);
                        foreach ($fleet as $a => $b) {
                            if ($b != '') {
                                $a = explode(",", $b);
                                $atakujacy[$a[0]]["ilosc"] = $a[1];
                            }
                        }
                        global $phpEx, $ugamela_root_path, $pricelist;
                        include_once $ugamela_root_path . 'includes/ataki.' . $phpEx;
                        $mtime = microtime();
                        $mtime = explode(" ", $mtime);
                        $mtime = $mtime[1] + $mtime[0];
                        $starttime = $mtime;
                        $walka = walka($atakujacy, $wrog, $tech_atakujacy, $tech_wrog);
                        $mtime = microtime();
                        $mtime = explode(" ", $mtime);
                        $mtime = $mtime[1] + $mtime[0];
                        $endtime = $mtime;
                        $totaltime = $endtime - $starttime;
                        $atakujacy = $walka["atakujacy"];
                        $wrog = $walka["wrog"];
                        $wygrana = $walka["wygrana"];
                        $dane_do_rw = $walka["dane_do_rw"];
                        $zlom = $walka["zlom"];
                        $farray = "";
                        $famount = 0;
                        $pojemosc = 0;
                        foreach ($atakujacy as $a => $b) {
                            $pojemosc = $pojemosc + $pricelist[$a]["capacity"] * $b["ilosc"];
                            $farray .= "{$a},{$b["ilosc"]};";
                            $famount = $famount + $b["ilosc"];
                        }
                        $pojemosc = $pojemosc - $f["fleet_resource_metal"] - $f["fleet_resource_crystal"] - $f["fleet_resource_deuterium"];
                        $fquery = "";
                        if (!is_null($wrog)) {
                            foreach ($wrog as $a => $b) {
                                $fquery .= "{$resource[$a]}={$b["ilosc"]}, ";
                            }
                        }
                        $ladownia["metal"] = 0;
                        $ladownia["krysztal"] = 0;
                        $ladownia["deuter"] = 0;
                        if ($wygrana == "a") {
                            if ($pojemosc > 0) {
                                $metal = $idwroga["metal"] / 2;
                                $krysztal = $idwroga["crystal"] / 2;
                                $deuter = $idwroga["deuterium"] / 2;
                                if ($metal > $pojemosc / 3) {
                                    $ladownia["metal"] = $pojemosc / 3;
                                    $pojemosc = $pojemosc - $ladownia["metal"];
                                } else {
                                    $ladownia["metal"] = $metal;
                                    $pojemosc = $pojemosc - $ladownia["metal"];
                                }
                                if ($krysztal > $pojemosc / 2) {
                                    $ladownia["krysztal"] = $pojemosc / 2;
                                    $pojemosc = $pojemosc - $ladownia["krysztal"];
                                } else {
                                    $ladownia["krysztal"] = $krysztal;
                                    $pojemosc = $pojemosc - $ladownia["krysztal"];
                                }
                                if ($deuter > $pojemosc) {
                                    $ladownia["deuter"] = $pojemosc;
                                    $pojemosc = $pojemosc - $ladownia["deuter"];
                                } else {
                                    $ladownia["deuter"] = $deuter;
                                    $pojemosc = $pojemosc - $ladownia["deuter"];
                                }
                            }
                        }
                        $ladownia["metal"] = round($ladownia["metal"]);
                        $ladownia["krysztal"] = round($ladownia["krysztal"]);
                        $ladownia["deuter"] = round($ladownia["deuter"]);
                        //przeniesienie surowcow z planety do ladowni
                        doquery("UPDATE {{table}} SET {$fquery}\n\t\t\t\t\t\tmetal=metal - '{$ladownia["metal"]}',\n\t\t\t\t\t\tcrystal=crystal - '{$ladownia["krysztal"]}',\n\t\t\t\t\t\tdeuterium=deuterium - '{$ladownia["deuter"]}'\n\t\t\t\t\t\tWHERE galaxy={$f['fleet_end_galaxy']} \n\t\t\t\t\t\tAND system={$f['fleet_end_system']} \n\t\t\t\t\t\tAND planet={$f['fleet_end_planet']}\tLIMIT 1 ;", 'planets');
                        doquery("UPDATE {{table}} SET \n\t\t\t\t\t\tmetal=metal + '{$zlom["metal"]}',\n\t\t\t\t\t\tcrystal=crystal + '{$zlom["krysztal"]}'\n\t\t\t\t\t\tWHERE galaxy={$f['fleet_end_galaxy']} \n\t\t\t\t\t\tAND system={$f['fleet_end_system']} \n\t\t\t\t\t\tAND planet={$f['fleet_end_planet']}\tLIMIT 1 ;", 'galaxy');
                        //kod na moona od DxPpLmOs
                        $debris = $zlom["metal"] + $zlom["krysztal"];
                        $deb = "Agresor straci� ��cznie {$zlom["atakujacy"]} jednostek.<br>Obro�ca straci� ��cznie {$zlom["wrog"]} jednostek. <br> Na tych wsp�rz�dnych znajduje si� teraz {$zlom["metal"]} metalu i {$zlom["krysztal"]} kryszta�u.";
                        $szansa2 = $debris / 100000;
                        $enemyrow = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND planet={$f['fleet_end_planet']}", 'planets', true);
                        $galenemyrow = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND planet={$f['fleet_end_planet']}", 'galaxy', true);
                        $maxtemp = $enemyrow['temp_max'] - rand(10, 45);
                        $mintemp = $enemyrow['temp_min'] - rand(10, 45);
                        $sre = rand(4000, 10000);
                        if ($debris > 2000000) {
                            $szansa2 = 20;
                        }
                        if ($debris < 100000) {
                            $szansa = 0;
                            $szanmoon = "";
                        } elseif ($debris >= 100000) {
                            $szansa = rand(1, 100);
                            $szanmoon = "Szansa na powstanie ksi�yca wynosi {$szansa2} % ";
                        }
                        if ($szansa > 0 and $szansa <= $szansa2 and $galenemyrow['id_luna'] == 0) {
                            doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t`name`='moon',\n\t\t\t\t\t\t\t`galaxy`='{$f['fleet_end_galaxy']}',\n\t\t\t\t\t\t\t`system`='{$f['fleet_end_system']}',\n\t\t\t\t\t\t\t`lunapos`='{$f['fleet_end_planet']}',\n\t\t\t\t\t\t\t`id_owner`='{$enemyrow['id_owner']}',\n\t\t\t\t\t\t\t`temp_max`='{$maxtemp}',\n\t\t\t\t\t\t\t`temp_min`='{$mintemp}',\n\t\t\t\t\t\t\t`diameter`='{$sre}',\n\t\t\t\t\t\t\t`id_luna`='{$f['fleet_start_time']}'", "lunas");
                            $lunarow = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND lunapos={$f['fleet_end_planet']}", 'lunas', true);
                            doquery("UPDATE {{table}} SET \n\t\t\t\t\t\t\t`id_luna`='{$lunarow['id']}', \n\t\t\t\t\t\t\t`luna`='0' WHERE \n\t\t\t\t\t\t\t`galaxy`='{$f['fleet_end_galaxy']}' AND \n\t\t\t\t\t\t\t`system`='{$f['fleet_end_system']}' AND \n\t\t\t\t\t\t\t`planet`='{$f['fleet_end_planet']}'", "galaxy");
                            $powtal = "Gratulacje!!! z od�amk�w statk�w kr���cych woko�o planety {$enemyrow['name']} [{$f['fleet_end_galaxy']}:{$f['fleet_end_system']}:{$f['fleet_end_planet']}] zacz�� formowa� si� naturalny satelita";
                        } elseif ($szansa = 0 or $szansa > $szansa2) {
                            $powtal = "";
                        }
                        $raport = "<center><table><tr><td> Starcie z " . date("r", $f["fleet_start_time"]) . " nast�puj�cych flot::<br>";
                        includeLang('tech');
                        global $lang;
                        $zniszczony = false;
                        $a_zestrzelona = 0;
                        foreach ($dane_do_rw as $a => $b) {
                            $raport .= "<table border=1 width=100%><tr><th><br><center>Agresor {$atakujacy_user["username"]} ({$f['fleet_start_galaxy']}:{$f['fleet_start_system']}:{$f['fleet_start_planet']})<br>Bro�: " . (100 + $tech_atakujacy["military_tech"] * 10) . "% Tarcza: " . (100 + $tech_atakujacy["defence_tech"] * 10) . "% Os�ona: " . (100 + $tech_atakujacy["shield_tech"] * 10) . "% <table border=1>";
                            if ($b["atakujacy"]["ilosc"] > 0) {
                                $raport1 = "<tr><th>Typ</th>";
                                $raport2 = "<tr><th>Il.</th>";
                                $raport3 = "<tr><th>Uzbrojenie:</th>";
                                $raport4 = "<tr><th>Tarcza</th>";
                                $raport5 = "<tr><th>Os�ona</th>";
                                foreach ($b["atakujacy"] as $c => $d) {
                                    if (is_numeric($c)) {
                                        if ($d["ilosc"] > 0) {
                                            $raport1 .= "<th>{$lang["tech"][$c]}</th>";
                                            $raport2 .= "<th>{$d["ilosc"]}</th>";
                                            $raport3 .= "<th>" . round($d["atak"] / $d["ilosc"]) . "</th>";
                                            $raport4 .= "<th>" . round($d["tarcza"] / $d["ilosc"]) . "</th>";
                                            $raport5 .= "<th>" . round($d["obrona"] / $d["ilosc"]) . "</th>";
                                        }
                                    }
                                }
                                $raport1 .= "</tr>";
                                $raport2 .= "</tr>";
                                $raport3 .= "</tr>";
                                $raport4 .= "</tr>";
                                $raport5 .= "</tr>";
                                $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                            } else {
                                if ($a == 2) {
                                    $a_zestrzelona = 1;
                                }
                                $zniszczony = true;
                                $raport .= "<br>Zniszczony";
                            }
                            $raport .= "</table></center></th></tr></table>";
                            $raport .= "<table border=1 width=100%><tr><th><br><center>Obronca {$wrog_user["username"]} ({$f['fleet_end_galaxy']}:{$f['fleet_end_system']}:{$f['fleet_end_planet']})<br>Bro�: " . (100 + $tech_wrog["military_tech"] * 10) . "% Tarcza: " . (100 + $tech_wrog["defence_tech"] * 10) . "% Os�ona: " . (100 + $tech_wrog["shield_tech"] * 10) . "% <table border=1>";
                            if ($b["wrog"]["ilosc"] > 0) {
                                $raport1 = "<tr><th>Typ</th>";
                                $raport2 = "<tr><th>Il.</th>";
                                $raport3 = "<tr><th>Uzbrojenie:</th>";
                                $raport4 = "<tr><th>Tarcza</th>";
                                $raport5 = "<tr><th>Os�ona</th>";
                                foreach ($b["wrog"] as $c => $d) {
                                    if (is_numeric($c)) {
                                        if ($d["ilosc"] > 0) {
                                            $raport1 .= "<th>{$lang["tech"][$c]}</th>";
                                            $raport2 .= "<th>{$d["ilosc"]}</th>";
                                            $raport3 .= "<th>" . round($d["atak"] / $d["ilosc"]) . "</th>";
                                            $raport4 .= "<th>" . round($d["tarcza"] / $d["ilosc"]) . "</th>";
                                            $raport5 .= "<th>" . round($d["obrona"] / $d["ilosc"]) . "</th>";
                                        }
                                    }
                                }
                                $raport1 .= "</tr>";
                                $raport2 .= "</tr>";
                                $raport3 .= "</tr>";
                                $raport4 .= "</tr>";
                                $raport5 .= "</tr>";
                                $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5;
                            } else {
                                $zniszczony = true;
                                $raport .= "<br>Zniszczony";
                            }
                            $raport .= "</table></center></th></tr></table>";
                            if ($zniszczony == false and !($a == 8)) {
                                $raport .= "<br><center>Flota agresora strzeli�a z ca�kowit� si�� {$b["atakujacy"]["atak"]} w obro�c�. Tarcza obroncy przyjela {$b["wrog"]["tarcza"]}<br>\n\t\t\t\t\t\t\t\tFlota obro�cy strzeli�a z ca�kowit� si�� {$b["wrog"]["atak"]} w agresora.Tarcza agresora przyjela {$b["atakujacy"]["tarcza"]}</center>";
                            }
                        }
                        switch ($wygrana) {
                            case "a":
                                $raport .= "<p>Agresor wygra� bitw�!<br>Przejal:<br>Metal: {$ladownia["metal"]}<br>Kryszta�: {$ladownia["krysztal"]}<br>Deuter: {$ladownia["deuter"]}<br><p><br>{$deb} <br>{$szanmoon} <br>{$powtal}<br>";
                                break;
                            case "r":
                                $raport .= "<p>Remis!<br><p><br>{$deb} <br>{$szanmoon} <br>{$powtal}<br>";
                                break;
                            case "w":
                                $raport .= "<p>Obronca wygral bitwe!<br><p><br>{$deb} <br>{$szanmoon} <br>{$powtal}<br>";
                                doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                break;
                            default:
                                break;
                        }
                        $raport .= "Symulacja trwala {$totaltime} sekund<br>Battle report and battle simulation by jacekowski</table>";
                        //echo $raport;
                        $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"];
                        //$raport = "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"".$dpath."/formate.css\"><meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-2\" /> </head><body><center><table width=\"99%\"><tr><td>".$raport."</td></tr></table></center></body></html>";
                        $rid = md5($raport);
                        doquery("INSERT INTO {{table}} SET \n\t\t\t\t\t\t`time`=UNIX_TIMESTAMP(),\n\t\t\t\t\t\t`id_owner1`='{$f['fleet_owner']}',\n\t\t\t\t\t\t`id_owner2`='{$idwrog}',\n\t\t\t\t\t\t`rid`='{$rid}',\n\t\t\t\t\t\t`a_zestrzelona`='{$a_zestrzelona}',\n\t\t\t\t\t\t`raport`='" . mysql_escape_string($raport) . "'", 'rw');
                        //$raport = "<a class=\"thickbox\" href=\"rw.php?raport=".$rid."&keepThis=true&TB_iframe=true&height=400&width=500\">Raport</a>";
                        $raport = "<a class=\"thickbox\" href=\"rw.php?raport=" . $rid . "&keepThis=true&TB_iframe=true&height=400&width=500\"><font color=\"red\">Raport wojenny [{$f['fleet_end_galaxy']}:{$f['fleet_end_system']}:{$f['fleet_end_planet']}] (V:{$zlom["wrog"]},A:{$zlom["atakujacy"]})</font></a>";
                        $ladownia["metal"] = $ladownia["metal"] + $f["fleet_resource_metal"];
                        $ladownia["krysztal"] = $ladownia["krysztal"] + $f["fleet_resource_crystal"];
                        $ladownia["deuter"] = $ladownia["deuter"] + $f["fleet_resource_deuterium"];
                        $f["fleet_resource_metal"] = $ladownia["metal"];
                        $f["fleet_resource_crystal"] = $ladownia["krysztal"];
                        $f["fleet_resource_deuterium"] = $ladownia["deuter"];
                        doquery("UPDATE {{table}} SET \n\t\t\t\t\t\t`fleet_amount`='{$famount}', \n\t\t\t\t\t\t`fleet_array`='{$farray}',\n\t\t\t\t\t\t`fleet_resource_metal`='{$ladownia["metal"]}', \n\t\t\t\t\t\t`fleet_resource_crystal`='{$ladownia["krysztal"]}',\n\t\t\t\t\t\t`fleet_resource_deuterium`='{$ladownia["deuter"]}'\n\t\t\t\t\t\tWHERE fleet_id={$f['fleet_id']} \n\t\t\t\t\t\tLIMIT 1 ;", 'fleets');
                        doquery("INSERT INTO {{table}} SET \n\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t`message_time`=UNIX_TIMESTAMP(),\n\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t`message_from`='Dow�dztwo Floty',\n\t\t\t\t\t\t`message_subject`='Walka',\n\t\t\t\t\t\t`message_text`='{$raport}'", 'messages');
                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                        doquery("INSERT INTO {{table}} SET \n\t\t\t\t\t\t`message_owner`='{$idwrog}',\n\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t`message_time`=UNIX_TIMESTAMP(),\n\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t`message_from`='Dow�dztwo Floty',\n\t\t\t\t\t\t`message_subject`='Walka',\n\t\t\t\t\t\t`message_text`='{$raport}'", 'messages');
                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$idwrog}'", 'users');
                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                    }
                    if ($f['fleet_end_time'] <= time()) {
                        if (!is_null($atakujacy)) {
                            $fquery = "";
                            foreach ($atakujacy as $a => $b) {
                                $fquery .= "{$resource[$a]}={$resource[$a]} + {$b["ilosc"]}, ";
                            }
                        } else {
                            $fquery = "";
                            $fleet = explode(";", $f['fleet_array']);
                            foreach ($fleet as $a => $b) {
                                if ($b != '') {
                                    $a = explode(",", $b);
                                    $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                                }
                            }
                        }
                        doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                        if (!($wygrana == "w")) {
                            doquery("UPDATE {{table}} SET\n\t\t\t\t\t\t\t{$fquery}\n\t\t\t\t\t\t\tmetal=metal + {$f['fleet_resource_metal']},\n\t\t\t\t\t\t\tcrystal=crystal + {$f['fleet_resource_crystal']},\n\t\t\t\t\t\t\tdeuterium=deuterium + {$f['fleet_resource_deuterium']}\n\t\t\t\t\t\t\tWHERE galaxy = {$f['fleet_start_galaxy']} AND\n\t\t\t\t\t\t\tsystem = {$f['fleet_start_system']} AND\n\t\t\t\t\t\t\tplanet = {$f['fleet_start_planet']}\n\t\t\t\t\t\t\tLIMIT 1 ;", 'planets');
                            doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t`message_time`='{$f['fleet_end_time']}',\n\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t`message_from`='Flottenkommando',\n\t\t\t\t\t\t\t`message_subject`='Flottenankunft',\n\t\t\t\t\t\t\t`message_text`='Eine Flotte ist von einem Angriff zur�ck gekommen. Es wurden {$f['fleet_resource_metal']} Metall, {$f['fleet_resource_crystal']} Kristall, {$f['fleet_resource_deuterium']} Deuterium auf deinem Planeten gutgeschrieben. '", 'messages');
                            doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                        }
                    }
                }
                break;
                //
                //--[3:Transportar]--------------------------------------------------
                //
            //
            //--[3:Transportar]--------------------------------------------------
            //
            case 3:
                //bug...
                //ARGHH!!! ok, transportar implica enviar solo recursos y volver.
                //no es necesario revisar la flota.
                //comprobamos el primer viaje :)
                //					$metal=$f['fleet_resource_metal'];
                //					$cristal=$f['fleet_resource_crystal'];
                //					$deuterium=$f['fleet_resource_deuterium'];
                $messmojax = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_start_galaxy']} AND system={$f['fleet_start_system']} AND planet={$f['fleet_start_planet']}", 'planets', true);
                $messtwojax = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND planet={$f['fleet_end_planet']}", 'planets', true);
                $nazwamojej = $messmojax['name'];
                $nazwatwojej = $messtwojax['name'];
                if ($f['fleet_start_time'] <= time()) {
                    doquery("UPDATE {{table}} SET\n\t\t\t\t\t\tmetal=metal+{$f['fleet_resource_metal']},\n\t\t\t\t\t\tcrystal=crystal+{$f['fleet_resource_crystal']},\n\t\t\t\t\t\tdeuterium=deuterium+{$f['fleet_resource_deuterium']}\n\t\t\t\t\t\tWHERE galaxy = {$f['fleet_end_galaxy']} AND\n\t\t\t\t\t\tsystem = {$f['fleet_end_system']} AND\n\t\t\t\t\t\tplanet = {$f['fleet_end_planet']}\n\t\t\t\t\t\tLIMIT 1 ;", 'planets');
                    doquery("UPDATE {{table}} SET\n\t\t\t\t\t\tfleet_resource_metal=0,fleet_resource_crystal=0,fleet_resource_deuterium=0\n\t\t\t\t\t\tWHERE fleet_id = {$f['fleet_id']}\n\t\t\t\t\t\tLIMIT 1 ;", 'fleets');
                    if ($f["fleet_mess"] != "1") {
                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t`message_subject`='Raport Transportu',\n\t\t\t\t\t\t`message_text`='Flota dotar�a do planety {$nazwatwojej} [{$f['fleet_end_galaxy']}:{$f['fleet_end_system']}:{$f['fleet_end_planet']}] i dostarczy�a surowce [Metal: {$f['fleet_resource_metal']} Kryszta�: {$f['fleet_resource_crystal']} Deuter: {$f['fleet_resource_deuterium']}]'", 'messages');
                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                    }
                    if ($f['fleet_end_time'] <= time()) {
                        $fquery = "";
                        $fleet = explode(";", $f['fleet_array']);
                        foreach ($fleet as $a => $b) {
                            if ($b != '') {
                                $a = explode(",", $b);
                                $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                            }
                        }
                        doquery("UPDATE {{table}} SET\n\t\t\t\t\t\t\t{$fquery}\n\t\t\t\t\t\t\tmetal=metal,\n\t\t\t\t\t\t\tcrystal=crystal,\n\t\t\t\t\t\t\tdeuterium=deuterium\n\t\t\t\t\t\t\tWHERE galaxy = {$f['fleet_start_galaxy']} AND\n\t\t\t\t\t\t\tsystem = {$f['fleet_start_system']} AND\n\t\t\t\t\t\t\tplanet = {$f['fleet_start_planet']}\n\t\t\t\t\t\t\tLIMIT 1 ;", 'planets');
                        doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                        if ($f["fleet_mess"] == "1") {
                            doquery("INSERT INTO {{table}} SET\n\t\t\t\t                     `message_owner`='{$f['fleet_owner']}',\n\t\t\t\t                     `message_sender`='',\n\t\t\t\t                     `message_time`='" . time() . "',\n\t\t\t\t                     `message_type`='0',\n\t\t\t\t                     `message_from`='Dow�dztwo floty',\n\t\t\t\t                     `message_subject`='Raport Transportu',\n\t\t\t\t                     `message_text`='Flota wr�ci�a na planet� {$nazwamojej} [{$f['fleet_start_galaxy']}:{$f['fleet_start_system']}:{$f['fleet_start_planet']}] bez surowc�w'", 'messages');
                            doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                            doquery("UPDATE {{table}} SET fleet_mess='2' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                        }
                    }
                }
                break;
                //
                //--[4:Desplazar:Stacjonuj]--------------------------------------------------
                //
            //
            //--[4:Desplazar:Stacjonuj]--------------------------------------------------
            //
            case 4:
                if ($f['fleet_start_time'] <= time()) {
                    $fquery = "";
                    $fleet = explode(";", $f['fleet_array']);
                    foreach ($fleet as $a => $b) {
                        if ($b != '') {
                            $a = explode(",", $b);
                            $fquery .= $resource[$a[0]] . "=" . $resource[$a[0]] . " + " . $a[1] . ", \n";
                        }
                    }
                    doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                    doquery("UPDATE {{table}} SET\n\t\t\t\t\t\t{$fquery}\n\t\t\t\t\t\tmetal=metal+{$f['fleet_resource_metal']},\n\t\t\t\t\t\tcrystal=crystal+{$f['fleet_resource_crystal']},\n\t\t\t\t\t\tdeuterium=deuterium+{$f['fleet_resource_deuterium']}\n\t\t\t\t\t\tWHERE galaxy = {$f['fleet_end_galaxy']} AND\n\t\t\t\t\t\tsystem = {$f['fleet_end_system']} AND\n\t\t\t\t\t\tplanet = {$f['fleet_end_planet']}\n\t\t\t\t\t\tLIMIT 1 ;", "planets");
                }
                break;
                //
                //--[5:Destruir]--------------------------------------------------
                //
            //
            //--[5:Destruir]--------------------------------------------------
            //
            case 5:
                //
                //--[6:Espiar]--------------------------------------------------
                //
            //
            //--[6:Espiar]--------------------------------------------------
            //
            case 6:
                if ($f['fleet_start_time'] <= time()) {
                    $zestrzelona = false;
                    $szpiegja = doquery("SELECT * FROM {{table}} WHERE id={$f['fleet_owner']}", 'users', true);
                    $idwroga = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND planet={$f['fleet_end_planet']}", 'planets', true);
                    $messmoja = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_start_galaxy']} AND system={$f['fleet_start_system']} AND planet={$f['fleet_start_planet']}", 'planets', true);
                    $szpieg = $szpiegja['spy_tech'];
                    $idwrog = $idwroga['id_owner'];
                    $szpiegwrog = doquery("SELECT * FROM {{table}} WHERE id={$idwrog}", 'users', true);
                    $szpiegwroga = $szpiegwrog['spy_tech'];
                    $pozT = $szpieg;
                    $pozW = $szpiegwroga;
                    $fleet = explode(";", $f['fleet_array']);
                    $fquery = "";
                    foreach ($fleet as $a => $b) {
                        if ($b != '') {
                            $a = explode(",", $b);
                            $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                            if ($a[0] == "210") {
                                $LS = $a[1];
                                $debs = doquery("SELECT * FROM {{table}} WHERE galaxy={$f['fleet_end_galaxy']} AND system={$f['fleet_end_system']} AND planet={$f['fleet_end_planet']}", 'galaxy', true);
                                $debsc = $debs['crystal'];
                                $debss = 0;
                                $debss = $LS * 300;
                                //$all="<table width=400><tr><td class=c colspan=4> Surowce na {$idwroga['name']}[{$idwroga['galaxy']}:{$idwroga['system']}:{$idwroga['planet']}]".gmdate("d-m-Y H:i:s",time())."</td></tr>";
                                $surka = "<table width=440><tr><td class=c colspan=4> Surowce na {$idwroga['name']}[{$idwroga['galaxy']}:{$idwroga['system']}:{$idwroga['planet']}]" . gmdate("d-m-Y H:i:s", time() + 2 * 60 * 60) . "</td></tr><tr><td>Metal:</td><td>" . pretty_number($idwroga['metal']) . "</td><td>Kryszta�:</td><td>" . pretty_number($idwroga['crystal']) . "</td></tr> <tr><td>Deuter:</td><td>" . pretty_number($idwroga['deuterium']) . "</td> <td>Energia:</td><td>" . pretty_number($idwroga['energy_max']) . "</td></tr> </table>";
                                if ($idwroga['small_ship_cargo'] > "0") {
                                    $mt = "<td>Ma�y Transporter</td><td>{$idwroga['small_ship_cargo']}</td>";
                                }
                                if ($idwroga['big_ship_cargo'] > "0") {
                                    $dt = "<td>Du�y Transporter</td><td>{$idwroga['big_ship_cargo']}</td></tr>";
                                }
                                if ($idwroga['light_hunter'] > "0") {
                                    $lm = "<td>Lekki My�liwiec</td><td>{$idwroga['light_hunter']}</td>";
                                }
                                if ($idwroga['heavy_hunter'] > "0") {
                                    $cm = "<td>Ci�ki My�liwiec</td><td>{$idwroga['heavy_hunter']}</td></tr>";
                                }
                                if ($idwroga['crusher'] > "0") {
                                    $kr = "<td>Kr��ownik</td><td>{$idwroga['crusher']}</td>";
                                }
                                if ($idwroga['battle_ship'] > "0") {
                                    $ow = "<td>Okr�t Wojenny</td><td>{$idwroga['battle_ship']}</td></tr>";
                                }
                                if ($idwroga['colonizer'] > "0") {
                                    $colon = "<td>Kolonizator</td><td>{$idwroga['colonizer']}</td>";
                                }
                                if ($idwroga['recycler'] > "0") {
                                    $recek = "<td>Recykler</td><td>{$idwroga['recycler']}</td></tr>";
                                }
                                if ($idwroga['spy_sonde'] > "0") {
                                    $spysonda = "<td>Sonda Szpiegowska</td><td>{$idwroga['spy_sonde']}</td>";
                                }
                                if ($idwroga['bomber_ship'] > "0") {
                                    $bombo = "<td>Bombowiec</td><td>{$idwroga['bomber_ship']}</td></tr>";
                                }
                                if ($idwroga['solar_satelit'] > "0") {
                                    $satki = "<td>Satelita S�oneczny</td><td>{$idwroga['solar_satelit']}</td>";
                                }
                                if ($idwroga['destructor'] > "0") {
                                    $niszcz = "<td>Niszczyciel</td><td>{$idwroga['destructor']}</td></tr>";
                                }
                                if ($idwroga['dearth_star'] > "0") {
                                    $gwiazdeczka = "<td>Gwiazda �mierci</td><td>{$idwroga['dearth_star']}</td>";
                                }
                                if ($idwroga['battleship'] > "0") {
                                    $panc = "<td>Pancernik</td><td>{$idwroga['battleship']}</td></tr>";
                                }
                                //if($idwroga['silo'] > "0"){$silos="<td>Silos Rakietowy</td><td>{$idwroga['silo']}</td></tr>";}
                                $floty = "<table width=440><tr><td class=c colspan=4> Surowce na {$idwroga['name']}[{$idwroga['galaxy']}:{$idwroga['system']}:{$idwroga['planet']}]" . gmdate("d-m-Y H:i:s", time() + 2 * 60 * 60) . "</td></tr><tr><td>Metal:</td><td>" . pretty_number($idwroga['metal']) . "</td><td>Kryszta�:</td><td>" . pretty_number($idwroga['crystal']) . "</td></tr> <tr><td>Deuter:</td><td>" . pretty_number($idwroga['deuterium']) . "</td> <td>Energia:</td><td>" . pretty_number($idwroga['energy_max']) . "</td></tr> </table><table width=440><tr><td class=c colspan=6>Floty</td></tr>{$mt}{$dt}{$lm}{$cm}{$kr}{$ow}{$colon}{$recek}{$spysonda}{$bombo}{$satki}{$niszcz}{$gwiazdeczka}{$panc} </table>";
                                if ($idwroga['misil_launcher'] > "0") {
                                    $ml = "<td>Wyrzutnia Rakiet</td><td>{$idwroga['misil_launcher']}</td>";
                                }
                                if ($idwroga['small_laser'] > "0") {
                                    $sl = "<td>Lekkie Dzia�o Laserowe</td><td>{$idwroga['small_laser']}</td></tr>";
                                }
                                if ($idwroga['big_laser'] > "0") {
                                    $bl = "<td>Cie�kie Dzia�o Laserowe</td><td>{$idwroga['big_laser']}</td>";
                                }
                                if ($idwroga['gauss_canyon'] > "0") {
                                    $gauss = "<td>Dzia�o Gaussa</td><td>{$idwroga['gauss_canyon']}</td></tr>";
                                }
                                if ($idwroga['ionic_canyon'] > "0") {
                                    $ionic = "<td>Dzia�o Jonowe</td><td>{$idwroga['ionic_canyon']}</td>";
                                }
                                if ($idwroga['buster_canyon'] > "0") {
                                    $buster = "<td>Wyrzutnia Plazmy</td><td>{$idwroga['buster_canyon']}</td></tr>";
                                }
                                if ($idwroga['small_protection_shield'] > "0") {
                                    $mp = "<td>Ma�a Pow�oka Ochronna</td><td>{$idwroga['small_protection_shield']}</td>";
                                }
                                if ($idwroga['big_protection_shield'] > "0") {
                                    $dp = "<td>Du�a Pow�oka Ochronna</td><td>{$idwroga['big_protection_shield']}</td>";
                                }
                                $obrona = "<table width=440><tr><td class=c colspan=4> Surowce na {$idwroga['name']}[{$idwroga['galaxy']}:{$idwroga['system']}:{$idwroga['planet']}]" . gmdate("d-m-Y H:i:s", time() + 2 * 60 * 60) . "</td></tr><tr><td>Metal:</td><td>" . pretty_number($idwroga['metal']) . "</td><td>Kryszta�:</td><td>" . pretty_number($idwroga['crystal']) . "</td></tr> <tr><td>Deuter:</td><td>" . pretty_number($idwroga['deuterium']) . "</td> <td>Energia:</td><td>" . pretty_number($idwroga['energy_max']) . "</td></tr> </table><table width=440><tr><td class=c colspan=6>Floty</td></tr>{$mt}{$dt}{$lm}{$cm}{$kr}{$ow}{$colon}{$recek}{$spysonda}{$bombo}{$satki}{$niszcz}{$gwiazdeczka}{$panc} </table> <table width=440><tr><td class=c colspan=4>Obrona</td></tr>{$ml}{$sl}{$bl}{$gauss}{$ionic}{$buster}{$mp}{$dp} </table>";
                                if ($idwroga['metal_mine'] > "0") {
                                    $kop_metal = "<td>Kopalnia metalu</td><td>{$idwroga['metal_mine']}</td>";
                                }
                                if ($idwroga['crystal_mine'] > "0") {
                                    $kop_krysia = "<td>Kopalnia kryszta�u</td><td>{$idwroga['crystal_mine']}</td>";
                                }
                                if ($idwroga['deuterium_sintetizer'] > "0") {
                                    $kop_deut = "<td>Ekstraktor Deuteru</td><td>{$idwroga['deuterium_sintetizer']}</td></tr>";
                                }
                                if ($idwroga['solar_plant'] > "0") {
                                    $solar = "<td>Elektrownia S�oneczna</td><td>{$idwroga['solar_plant']}</td>";
                                }
                                if ($idwroga['fusion_plant'] > "0") {
                                    $fusion = "<td>Elektrownia Fuzyjna</td><td>{$idwroga['fusion_plant']}</td>";
                                }
                                if ($idwroga['robot_factory'] > "0") {
                                    $robot = "<td>Fabryka Robot�w</td><td>{$idwroga['robot_factory']}</td></tr>";
                                }
                                if ($idwroga['nano_factory'] > "0") {
                                    $nano = "<td>Fabryka Nanit�w</td><td>{$idwroga['nano_factory']}</td>";
                                }
                                if ($idwroga['hangar'] > "0") {
                                    $stocznia = "<td>Stocznia</td><td>{$idwroga['hangar']}</td>";
                                }
                                if ($idwroga['metal_store'] > "0") {
                                    $mag_mety = "<td>Magazyn Metalu</td><td>{$idwroga['metal_store']}</td></tr>";
                                }
                                if ($idwroga['crystal_store'] > "0") {
                                    $mag_krysi = "<td>Magazyn Kryszta�u</td><td>{$idwroga['crystal_store']}</td>";
                                }
                                if ($idwroga['deuterium_store'] > "0") {
                                    $mag_deut = "<td>Magazyn Deuteru</td><td>{$idwroga['deuterium_store']}</td>";
                                }
                                if ($idwroga['laboratory'] > "0") {
                                    $lab = "<td>Laboratorium</td><td>{$idwroga['laboratory']}</td></tr>";
                                }
                                if ($idwroga['terraformer'] > "0") {
                                    $tetra = "<td>Terraformer</td><td>{$idwroga['terraformer']}</td>";
                                }
                                if ($idwroga['ally_deposit'] > "0") {
                                    $allydepo = "<td>Depozyt Sojuszniczy</td><td>{$idwroga['ally_deposit']}</td>";
                                }
                                if ($idwroga['silo'] > "0") {
                                    $silos = "<td>Silos Rakietowy</td><td>{$idwroga['silo']}</td></tr>";
                                }
                                $budynki = "<table width=440><tr><td class=c colspan=4> Surowce na {$idwroga['name']}[{$idwroga['galaxy']}:{$idwroga['system']}:{$idwroga['planet']}]" . gmdate("d-m-Y H:i:s", time() + 2 * 60 * 60) . "</td></tr><tr><td>Metal:</td><td>" . pretty_number($idwroga['metal']) . "</td><td>Kryszta�:</td><td>" . pretty_number($idwroga['crystal']) . "</td></tr> <tr><td>Deuter:</td><td>" . pretty_number($idwroga['deuterium']) . "</td> <td>Energia:</td><td>" . pretty_number($idwroga['energy_max']) . "</td></tr> </table><table width=440><tr><td class=c colspan=6>Floty</td></tr>{$mt}{$dt}{$lm}{$cm}{$kr}{$ow}{$colon}{$recek}{$spysonda}{$bombo}{$satki}{$niszcz}{$gwiazdeczka}{$panc} </table> <table width=440><tr><td class=c colspan=4>Obrona</td></tr>{$ml}{$sl}{$bl}{$gauss}{$ionic}{$buster}{$mp}{$dp} </table> <table width=440><tr><td class=c colspan=6>Budynki</td></tr></tr>{$kop_metal}{$kop_krysia}{$kop_deut}{$solar}{$fusion}{$robot}{$nano}{$stocznia}{$mag_mety}{$mag_krysi}{$mag_deut}{$lab}{$tetra}{$allydepo}{$silos}</table>";
                                if ($szpiegwrog['spy_tech'] > "0") {
                                    $spy_tech = "<td>Technologia Szpiegowska</td><td>{$szpiegwrog['spy_tech']}</td>";
                                }
                                if ($szpiegwrog['computer_tech'] > "0") {
                                    $pc_tech = "<td>Technologia Komputerowa</td><td>{$szpiegwrog['computer_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['military_tech'] > "0") {
                                    $boj_tech = "<td>Technologia Bojowa</td><td>{$szpiegwrog['military_tech']}</td>";
                                }
                                if ($szpiegwrog['defence_tech'] > "0") {
                                    $obr_tech = "<td>Technologia Obronna</td><td>{$szpiegwrog['defence_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['shield_tech'] > "0") {
                                    $op_tech = "<td>Opancerzenie</td><td>{$szpiegwrog['shield_tech']}</td>";
                                }
                                if ($szpiegwrog['energy_tech'] > "0") {
                                    $ene_tech = "<td>Technologia Energetyczna</td><td>{$szpiegwrog['energy_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['hyperspace_tech'] > "0") {
                                    $nadp_tech = "<td>Technologia Nadprzestrzenna</td><td>{$szpiegwrog['hyperspace_tech']}</td>";
                                }
                                if ($szpiegwrog['combustion_tech'] > "0") {
                                    $spal_tech = "<td>Nap�d Spalinowy</td><td>{$szpiegwrog['combustion_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['impulse_motor_tech'] > "0") {
                                    $imp_tech = "<td>Nap�d Impulsowy</td><td>{$szpiegwrog['impulse_motor_tech']}</td>";
                                }
                                if ($szpiegwrog['hyperspace_motor_tech'] > "0") {
                                    $napna_tech = "<td>Nap�d Nadprzestrzenny</td><td>{$szpiegwrog['hyperspace_motor_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['laser_tech'] > "0") {
                                    $las_tech = "<td>Technologia Laserowa</td><td>{$szpiegwrog['laser_tech']}</td>";
                                }
                                if ($szpiegwrog['ionic_tech'] > "0") {
                                    $jon_tech = "<td>Technologia Jonowa</td><td>{$szpiegwrog['ionic_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['buster_tech'] > "0") {
                                    $plaz_tech = "<td>Technologia Plazmowa</td><td>{$szpiegwrog['buster_tech']}</td>";
                                }
                                if ($szpiegwrog['intergalactic_tech'] > "0") {
                                    $msbn_tech = "<td>Mi�dzygalaktyczna Sie� Bada� Naukowych</td><td>{$szpiegwrog['intergalactic_tech']}</td></tr>";
                                }
                                if ($szpiegwrog['graviton_tech'] > "0") {
                                    $gra_tech = "<td>Rozw�j Grawiton�w</td><td>{$szpiegwrog['graviton_tech']}</td>";
                                }
                                $badania = "<table width=440><tr><td class=c colspan=4> Surowce na {$idwroga['name']}[{$idwroga['galaxy']}:{$idwroga['system']}:{$idwroga['planet']}]" . gmdate("d-m-Y H:i:s", time() + 2 * 60 * 60) . "</td></tr><tr><td>Metal:</td><td>" . pretty_number($idwroga['metal']) . "</td><td>Kryszta�:</td><td>" . pretty_number($idwroga['crystal']) . "</td></tr> <tr><td>Deuter:</td><td>" . pretty_number($idwroga['deuterium']) . "</td> <td>Energia:</td><td>" . pretty_number($idwroga['energy_max']) . "</td></tr> </table><table width=440><tr><td class=c colspan=6>Floty</td></tr>{$mt}{$dt}{$lm}{$cm}{$kr}{$ow}{$colon}{$recek}{$spysonda}{$bombo}{$satki}{$niszcz}{$gwiazdeczka}{$panc} </table> <table width=440><tr><td class=c colspan=4>Obrona</td></tr>{$ml}{$sl}{$bl}{$gauss}{$ionic}{$buster}{$mp}{$dp} </table> <table width=440><tr><td class=c colspan=6>Budynki</td></tr></tr>{$kop_metal}{$kop_krysia}{$kop_deut}{$solar}{$fusion}{$robot}{$nano}{$stocznia}{$mag_mety}{$mag_krysi}{$mag_deut}{$lab}{$tetra}{$allydepo}{$silos}</table><table width=440><tr><td class=c colspan=4>Badania   </td></tr></tr>{$spy_tech}{$pc_tech}{$boj_tech}{$obr_tech}{$op_tech}{$ene_tech}{$nadp_tech}{$spal_tech}{$imp_tech}{$napna_tech}{$las_tech}{$jon_tech}{$plaz_tech}{$msbn_tech}{$gra_tech}</table>";
                                $szansamax = ($idwroga['small_ship_cargo'] + $idwroga['big_ship_cargo'] + $idwroga['light_hunter'] + $idwroga['heavy_hunter'] + $idwroga['crusher'] + $idwroga['battle_ship'] + $idwroga['colonizer'] + $idwroga['recycler'] + $idwroga['spy_sonde'] + $idwroga['bomber_ship'] + $idwroga['solar_satelit'] + $idwroga['destructor'] + $idwroga['dearth_star'] + $idwroga['battleship'] + $idwroga['destruktor']) * $LS / 4;
                                //********************************************************************************************
                                //Trzeba jeszcze doda� zale�no�� przewagi technologii szpiegowskiej:
                                //-Ten sam poziom techniki, ok 4 statki daja 1% szans na zestrzelenie
                                //-Przeciwnik ma tech szpieg o jeden poziom nizsz�, ok 8 statkow daje 1% szans na zestrzelenie
                                //-Przeciwnik ma tech szpieg o dwa poziomy nizsz�, ok 16 statkow daje 1% szans na zestrzelenie
                                //i odwrotnie.
                                //********************************************************************************************
                                if ($szansamax > 100) {
                                    $szansamax = 100;
                                }
                                $szansawzor = rand(0, $szansamax);
                                $szansazest = rand(0, 100);
                                if ($szansawzor >= $szansazest) {
                                    $wiadja = "<font color=\"red\">Zestrzelona</font>";
                                    $wiadty = ", naszcz�cie dzi�ki zaawansowanej technologii uda�o si� j� przechwyci� i zestrzeli�!";
                                    doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    $zestrzelona = true;
                                } elseif ($szansawzor < $szansazest) {
                                    $wiadja = "<font color=\"lime\">Ocalona</font>";
                                    $wiadty = "";
                                }
                                $szansa = " <center> Szansa na przechwycenie sond: {$szansawzor}% <br><b>{$wiadja}</b></center> </td> </tr>";
                                $pT = $pozW - $pozT;
                                $pW = $pozT - $pozW;
                                if ($pozW > $pozT) {
                                    $ST = $LS - pow($pT, 2);
                                }
                                if ($pozT > $pozW) {
                                    $ST = $LS + pow($pW, 2);
                                }
                                if ($pozW == $pozT) {
                                    $ST = "{$pozT}";
                                }
                                if ($ST <= "1") {
                                    if ($f["fleet_mess"] != "1") {
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t\t`message_subject`='Raport Szpiegowski',\n\t\t\t\t\t\t\t\t\t\t\t`message_text`='{$surka}<br> {$szansa}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t\t`message_owner`='{$idwrog}',\n\t\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t\t`message_subject`='Obca Flota (szpiegowanie)',\n\t\t\t\t\t\t\t\t\t\t\t`message_text`='Obca Flota z planety {$messmoja['name']} [{$messmoja["galaxy"]}:{$messmoja["system"]}:{$messmoja["planet"]}] zawita�a na planecie {$idwroga['name']} [{$idwroga["galaxy"]}:{$idwroga["system"]}:{$idwroga["planet"]}] {$wiadty}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$idwrog}'", 'users');
                                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    }
                                }
                                if ($ST == "2") {
                                    if ($f["fleet_mess"] != "1") {
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t\t`message_subject`='Raport Szpiegowski',\n\t\t\t\t\t\t\t\t\t\t\t`message_text`='{$flota}<br> {$szansa}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t\t`message_owner`='{$idwrog}',\n\t\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t\t`message_subject`='Obca Flota (szpiegowanie)',\n\t\t\t\t\t\t\t\t\t\t\t`message_text`='Obca Flota z planety  {$messmoja['name']} [{$messmoja["galaxy"]}:{$messmoja["system"]}:{$messmoja["planet"]}] zawita�a na planecie {$idwroga['name']} [{$idwroga["galaxy"]}:{$idwroga["system"]}:{$idwroga["planet"]}] {$wiadty}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$idwrog}'", 'users');
                                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    }
                                }
                                if ($ST == "4" or $ST == "3") {
                                    if ($f["fleet_mess"] != "1") {
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t`message_subject`='Raport Szpiegowski',\n\t\t\t\t\t\t\t\t\t\t`message_text`='{$obrona}<br> {$szansa}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t`message_owner`='{$idwrog}',\n\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t`message_subject`='Obca Flota (szpiegowanie)',\n\t\t\t\t\t\t\t\t\t\t`message_text`='Obca Flota z planety  {$messmoja['name']} [{$messmoja["galaxy"]}:{$messmoja["system"]}:{$messmoja["planet"]}] zawita�a na planecie {$idwroga['name']} [{$idwroga["galaxy"]}:{$idwroga["system"]}:{$idwroga["planet"]}] {$wiadty}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$idwrog}'", 'users');
                                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    }
                                }
                                if ($ST == "5" or $ST == "6") {
                                    if ($f["fleet_mess"] != "1") {
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t`message_subject`='Raport Szpiegowski',\n\t\t\t\t\t\t\t\t\t\t`message_text`='{$budynki}<br> {$szansa}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t`message_owner`='{$idwrog}',\n\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t`message_subject`='Obca Flota (szpiegowanie)',\n\t\t\t\t\t\t\t\t\t\t`message_text`='Obca Flota z planety  {$messmoja['name']} [{$messmoja["galaxy"]}:{$messmoja["system"]}:{$messmoja["planet"]}] zawita�a na planecie {$idwroga['name']} [{$idwroga["galaxy"]}:{$idwroga["system"]}:{$idwroga["planet"]}] {$wiadty}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$idwrog}'", 'users');
                                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    }
                                }
                                if ($ST >= "7") {
                                    if ($f["fleet_mess"] != "1") {
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t`message_subject`='Raport Szpiegowski',\n\t\t\t\t\t\t\t\t\t\t`message_text`='{$badania}<br> {$szansa}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                                        doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t\t\t\t\t\t`message_owner`='{$idwrog}',\n\t\t\t\t\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t\t\t\t\t\t`message_subject`='Obca Flota (szpiegowanie)',\n\t\t\t\t\t\t\t\t\t\t`message_text`='Obca Flota z planety  {$messmoja['name']} [{$messmoja["galaxy"]}:{$messmoja["system"]}:{$messmoja["planet"]}] zawita�a na planecie {$idwroga['name']} [{$idwroga["galaxy"]}:{$idwroga["system"]}:{$idwroga["planet"]}] {$wiadty}'", 'messages');
                                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$idwrog}'", 'users');
                                        doquery("UPDATE {{table}} SET fleet_mess='1' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    }
                                }
                                if ($szansawzor >= $szansazest) {
                                    doquery("UPDATE {{table}} SET crystal=crystal+{$debss} WHERE id_planet='{$idwroga['id']}'", 'galaxy');
                                    doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                                    doquery("UPDATE {{table}} SET \n\t\t\t\t\t\t\t\t\t\t`points_fleet2`='points_fleet2-{$LS}',\n\t\t\t\t\t\t\t\t\t\t`points_fleet_old`='points_fleet_old-{$LS}*1000'\n\t\t\t\t\t\t\t\t\t\tWHERE id='{$user['id']}'", 'users');
                                }
                            }
                        } else {
                            if ($f['fleet_end_time'] <= time() and $zestrzelona == false) {
                                doquery("UPDATE {{table}} SET\n\t\t\t\t\t\t\t\t{$fquery}\n\t\t\t\t\t\t\t\tmetal=metal+{$f['fleet_resource_metal']},\n\t\t\t\t\t\t\t\tcrystal=crystal+{$f['fleet_resource_crystal']},\n\t\t\t\t\t\t\t\tdeuterium=deuterium+{$f['fleet_resource_deuterium']}\n\t\t\t\t\t\t\t\tWHERE galaxy = {$f['fleet_start_galaxy']} AND\n\t\t\t\t\t\t\t\tsystem = {$f['fleet_start_system']} AND\n\t\t\t\t\t\t\t\tplanet = {$f['fleet_start_planet']}\n\t\t\t\t\t\t\t\tLIMIT 1 ;", 'planets');
                                doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                            }
                        }
                    }
                }
                break;
                //
                //--[7:Posicionar flota]--------------------------------------------------
                //
            //
            //--[7:Posicionar flota]--------------------------------------------------
            //
            case 7:
                //
                //--[8:Reciclar]--------------------------------------------------
                //
            //
            //--[8:Reciclar]--------------------------------------------------
            //
            case 8:
                if ($f['fleet_start_time'] <= time()) {
                    global $pricelist;
                    if ($f["fleet_mess"] == "0") {
                        $pola_zniszczen = doquery("SELECT * FROM {{table}}  \n\t\t\t\t\t\t\tWHERE galaxy={$f['fleet_end_galaxy']} \n\t\t\t\t\t\t\tAND system={$f['fleet_end_system']} \n\t\t\t\t\t\t\tAND planet={$f['fleet_end_planet']}\tLIMIT 1 ;", 'galaxy', true);
                        foreach (explode(";", $f['fleet_array']) as $a => $b) {
                            if ($b != '') {
                                $a = explode(",", $b);
                                if ($a[0] == 209) {
                                    $pojemosc = $pojemosc + $pricelist[$a[0]]["capacity"] * $a[1];
                                } else {
                                    $pojemosc_reszta = $pojemosc_reszta + $pricelist[$a[0]]["capacity"] * $a[1];
                                }
                            }
                        }
                        $surowce_w_ladowni = $f["metal"] + $f["crystal"] + $f["deuterium"];
                        if ($surowce_w_ladowni > $pojemosc_reszta) {
                            $pojemosc = $pojemosc - ($surowce_w_ladowni - $pojemosc_reszta);
                        }
                        if ($pola_zniszczen["metal"] + $pola_zniszczen["crystal"] <= $pojemosc) {
                            $odzyskane["metal"] = $pola_zniszczen["metal"];
                            $odzyskane["crystal"] = $pola_zniszczen["crystal"];
                        } else {
                            if ($pola_zniszczen["metal"] > $pojemosc / 2 and $pola_zniszczen["crystal"] > $pojemosc / 2) {
                                $odzyskane["metal"] = $pojemosc / 2;
                                $odzyskane["crystal"] = $pojemosc / 2;
                            } else {
                                if ($pola_zniszczen["metal"] > $pola_zniszczen["crystal"]) {
                                    $odzyskane["crystal"] = $pola_zniszczen["crystal"];
                                    if ($pola_zniszczen["metal"] > $pojemosc - $odzyskane["crystal"]) {
                                        $odzyskane["metal"] = $pojemosc - $odzyskane["crystal"];
                                    } else {
                                        $odzyskane["metal"] = $pola_zniszczen["metal"];
                                    }
                                } else {
                                    $odzyskane["metal"] = $pola_zniszczen["metal"];
                                    if ($pola_zniszczen["crystal"] > $pojemosc - $odzyskane["metal"]) {
                                        $odzyskane["crystal"] = $pojemosc - $odzyskane["metal"];
                                    } else {
                                        $odzyskane["crystal"] = $pola_zniszczen["crystal"];
                                    }
                                }
                            }
                        }
                        $f["fleet_resource_metal"] = $f["fleet_resource_metal"] + $odzyskane["metal"];
                        $f["fleet_resource_crystal"] = $f["fleet_resource_crystal"] + $odzyskane["crystal"];
                        doquery("UPDATE {{table}} SET \n\t\t\t\t\t\t\tmetal=metal - '{$odzyskane["metal"]}',\n\t\t\t\t\t\t\tcrystal=crystal - '{$odzyskane["crystal"]}'\n\t\t\t\t\t\t\tWHERE galaxy={$f['fleet_end_galaxy']} \n\t\t\t\t\t\t\tAND system={$f['fleet_end_system']} \n\t\t\t\t\t\t\tAND planet={$f['fleet_end_planet']}\tLIMIT 1 ;", 'galaxy');
                        doquery("INSERT INTO {{table}} SET\n\t\t                     `message_owner`='{$f['fleet_owner']}',\n\t\t                     `message_sender`='',\n\t\t                     `message_time`='" . time() . "',\n\t\t                     `message_type`='0',\n\t\t                     `message_from`='Dow�dztwo floty',\n\t\t                     `message_subject`='Raport Odzyskiwania',\n\t\t                     `message_text`='Twoja flota odzyska�a Metal:{$odzyskane["metal"]} Kryszta�:{$odzyskane["crystal"]}'", 'messages');
                        doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                        doquery("UPDATE {{table}} SET fleet_mess='2' WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                        doquery("UPDATE {{table}} SET\n\t\t\t\t\t\t\tfleet_resource_metal={$f["fleet_resource_metal"]},fleet_resource_crystal={$f["fleet_resource_crystal"]},fleet_resource_deuterium=fleet_resource_deuterium,fleet_mess=1\n\t\t\t\t\t\t\tWHERE fleet_id = {$f['fleet_id']}\n\t\t\t\t\t\t\tLIMIT 1 ;", 'fleets');
                    }
                    if ($f['fleet_end_time'] <= time()) {
                        $fquery = "";
                        $fleet = explode(";", $f['fleet_array']);
                        foreach ($fleet as $a => $b) {
                            if ($b != '') {
                                $a = explode(",", $b);
                                $fquery .= "{$resource[$a[0]]}={$resource[$a[0]]} + {$a[1]}, \n";
                            }
                        }
                        doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
                        doquery("UPDATE {{table}} SET\n\t\t\t\t\t\t\t{$fquery}\n\t\t\t\t\t\t\tmetal=metal + {$f["fleet_resource_metal"]},\n\t\t\t\t\t\t\tcrystal=crystal + {$f["fleet_resource_crystal"]},\n\t\t\t\t\t\t\tdeuterium=deuterium + {$f["fleet_resource_deuterium"]}\n\t\t\t\t\t\t\tWHERE galaxy = {$f['fleet_start_galaxy']} AND\n\t\t\t\t\t\t\tsystem = {$f['fleet_start_system']} AND\n\t\t\t\t\t\t\tplanet = {$f['fleet_start_planet']}\n\t\t\t\t\t\t\tLIMIT 1 ;", 'planets');
                    }
                }
                break;
                //
                //--[9:Colonizar]-----------------------------------------------
                //
            //
            //--[9:Colonizar]-----------------------------------------------
            //
            case 9:
                $limit_planet = 9;
                $ilosc = mysql_result(doquery("SELECT count(208) FROM {{table}} WHERE id_owner='{$f['fleet_owner']}'", 'planets'), 0);
                if ($ilosc >= $limit_planet) {
                    doquery("INSERT INTO {{table}} SET\n\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t`message_from`='Dow�dztwo floty',\n\t\t\t\t\t`message_subject`='Kolonizacja',\n\t\t\t\t\t`message_text`='Kolonizacja planety [{$f['fleet_end_galaxy']}:{$f['fleet_end_system']}:{$f['fleet_end_planet']}] nie powiod�a si�, poniewa� masz ju� 15 planet...'", 'messages');
                    doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='{$f['fleet_owner']}'", 'users');
                } else {
                    if (make_planet($f['fleet_end_galaxy'], $f['fleet_end_system'], $f['fleet_end_planet'], $f['fleet_owner'])) {
                        doquery("INSERT INTO {{table}} SET \n\t\t\t\t\t\t`message_owner`='{$f['fleet_owner']}',\n\t\t\t\t\t\t`message_sender`='',\n\t\t\t\t\t\t`message_time`='" . time() . "',\n\t\t\t\t\t\t`message_type`='0',\n\t\t\t\t\t\t`message_from`='Dow�dztwo Floty',\n\t\t\t\t\t\t`message_subject`='Kolonizacja',\n\t\t\t\t\t\t`message_text`='Planeta [{$f['fleet_end_galaxy']}:{$f['fleet_end_system']}:{$f['fleet_end_planet']}] zosta�a skolonizowana'", 'messages');
                    } else {
                        echo "error";
                    }
                }
                /*doquery("DELETE FROM {{table}} WHERE fleet_id=".$f["fleet_id"],'fleets');
                		doquery("UPDATE {{table}} SET
                			$fquery
                			metal=metal+{$f['fleet_resource_metal']},
                			crystal=crystal+{$f['fleet_resource_crystal']},
                			deuterium=deuterium+{$f['fleet_resource_deuterium']}
                			WHERE galaxy = {} AND
                			system = {} AND
                			planet = {}
                			LIMIT 1 ;","planets"
                		);*/
                /*}else{
                			
                			doquery("DELETE FROM {{table}} WHERE fleet_id=".$f["fleet_id"],'fleets');
                			doquery("UPDATE {{table}} SET
                				$fquery
                				metal=metal+{$f['fleet_resource_metal']},
                				crystal=crystal+{$f['fleet_resource_crystal']},
                				deuterium=deuterium+{$f['fleet_resource_deuterium']}
                				WHERE galaxy = {$f['fleet_start_galaxy']} AND
                				system = {$f['fleet_start_system']} AND
                				planet = {$f['fleet_start_planet']}
                				LIMIT 1 ;","planets"
                			);
                		}*/
            default:
                doquery("DELETE FROM {{table}} WHERE fleet_id=" . $f["fleet_id"], 'fleets');
        }
    }
    doquery("UNLOCK TABLES", "");
}
Пример #6
0
function MissionCaseDestruction($FleetRow)
{
    global $user, $phpEx, $ugamela_root_path, $lang;
    includeLang('system');
    if ($FleetRow['fleet_mess'] == 0) {
        if ($FleetRow['fleet_start_time'] < time()) {
            $QryTargetPlanet = "SELECT * FROM {{table}} ";
            $QryTargetPlanet .= "WHERE ";
            $QryTargetPlanet .= "`galaxy` = '" . $FleetRow['fleet_end_galaxy'] . "' AND ";
            $QryTargetPlanet .= "`system` = '" . $FleetRow['fleet_end_system'] . "' AND ";
            $QryTargetPlanet .= "`planet` = '" . $FleetRow['fleet_end_planet'] . "';";
            $TargetPlanet = doquery($QryTargetPlanet, 'planets', true);
            $TargetUserID = $TargetPlanet['id_owner'];
            $QryCurrentUser = "******";
            $QryCurrentUser .= "WHERE ";
            $QryCurrentUser .= "`id` = '" . $FleetRow['fleet_owner'] . "';";
            $CurrentUser = doquery($QryCurrentUser, 'users', true);
            $CurrentUserID = $CurrentUser['id'];
            $QryTargetUser = "******";
            $QryTargetUser .= "WHERE ";
            $QryTargetUser .= "`id` = '" . $TargetUserID . "';";
            $TargetUser = doquery($QryTargetUser, 'users', true);
            $QryTargetTech = "SELECT ";
            $QryTargetTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryTargetTech .= "FROM {{table}} ";
            $QryTargetTech .= "WHERE ";
            $QryTargetTech .= "`id` = '" . $TargetUserID . "';";
            $TargetTechno = doquery($QryTargetTech, 'users', true);
            $QryCurrentTech = "SELECT ";
            $QryCurrentTech .= "`military_tech`, `defence_tech`, `shield_tech` ";
            $QryCurrentTech .= "FROM {{table}} ";
            $QryCurrentTech .= "WHERE ";
            $QryCurrentTech .= "`id` = '" . $CurrentUserID . "';";
            $CurrentTechno = doquery($QryCurrentTech, 'users', true);
            for ($SetItem = 200; $SetItem < 500; $SetItem++) {
                if ($TargetPlanet[$resource[$SetItem]] > 0) {
                    $TargetSet[$SetItem]["ilosc"] = $TargetPlanet[$resource[$SetItem]];
                }
            }
            $TheFleet = explode(";", $FleetRow['fleet_array']);
            foreach ($TheFleet as $a => $b) {
                if ($b != '') {
                    $a = explode(",", $b);
                    $CurrentSet[$a[0]]["ilosc"] = $a[1];
                }
            }
            include_once $ugamela_root_path . 'includes/ataki.' . $phpEx;
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $starttime = $mtime;
            $Destruction = walka($CurrentSet, $TargetSet, $CurrentTechno, $TargetTechno);
            $mtime = microtime();
            $mtime = explode(" ", $mtime);
            $mtime = $mtime[1] + $mtime[0];
            $endtime = $mtime;
            $totaltime = $endtime - $starttime;
            $CurrentSet = $Destruction["atakujacy"];
            $TargetSet = $Destruction["wrog"];
            $FleetResult = $Destruction["wygrana"];
            $RapportLong = $Destruction["dane_do_rw"];
            $RapportCourt = $Destruction["zlom"];
            $FleetAmount = 0;
            foreach ($CurrentSet as $Ship => $Count) {
                $FleetStorage += $pricelist[$Ship]["capacity"] * $Count["ilosc"];
                $FleetArray .= $Ship . "," . $Count["ilosc"] . ";";
                $FleetAmount += $Count["ilosc"];
            }
            if ($FleetResult == "a") {
            }
        }
    }
}