* All rights reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * --> NOTICE <-- * This file is part of the core development branch, changing its contents will * make you unable to use the automatic updates manager. Please refer to the * documentation for further information about customizing XNova. * */ /** * * @deprecated * @param unknown_type $FleetRow */ function MissionCaseDestruction($FleetRow) { global $user, $pricelist, $lang, $resource, $CombatCaps, $gameConfig; trigger_error(sprintf('%s is deprecated', __FUNCTION__), E_USER_DEPRECATED); includeLang('system'); if ($FleetRow['fleet_start_time'] <= time()) { if ($FleetRow['fleet_mess'] == 0) { if (!isset($CombatCaps[202]['sd'])) { message("". $lang['sys_no_vars'] ."", $lang['sys_error'], "fleet." . PHPEXT, 2); return; } $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 = "SELECT * FROM {{table}} "; $QryCurrentUser .= "WHERE "; $QryCurrentUser .= "`id` = '". $FleetRow['fleet_owner'] ."';"; $CurrentUser = doquery($QryCurrentUser , 'users', true); $CurrentUserID = $CurrentUser['id']; $QryTargetUser = "SELECT * FROM {{table}} "; $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.' . PHPEXT); // Calcul de la duree de traitement (initialisation) $starttime = microtime(true); $walka = walka($CurrentSet, $TargetSet, $CurrentTechno, $TargetTechno); $totaltime = (microtime(true) - $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") { $ripCount = 0.; $supernovaCount = 0.; $gravitonLevel = 0.; if (isset($CurrentSet['214']) && isset($CurrentSet['214']['count'])) { $ripCount = floatval($CurrentSet['214']['count']); } if (isset($CurrentSet['216']) && isset($CurrentSet['216']['count'])) { $supernovaCount = floatval($CurrentSet['216']['count']); } if (isset($user[$resource[Legacies_Empire::ID_RESEARCH_GRAVITON_TECHNOLOGY]])) { $gravitonLevel = floatval($user[$resource[Legacies_Empire::ID_RESEARCH_GRAVITON_TECHNOLOGY]]); } $destructionPower = $ripCount + ($supernovaCount * 4); $gravitonPower = 1 + pow(1 - $gravitonLevel, 2); $rawChances = pow(sqrt(1 / floatval($TargetPlanet['diameter'])) * $destructionPower * $gravitonPower, 2); $chances = (1 - (1 / ((2500 / floatval($gameConfig['game_speed'])) * pow(1 + $rawChances, 2)))) * .5; $tirage = mt_rand(0, 100000000); $probalune = sprintf($lang['sys_destruc_lune'], (int) ($chances * 100)); if ($tirage <= ($chance * 1000000)) { $resultat = '1'; $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 ;"; 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 resisté // la lune a resiste, alors voyons les chances que les rip soient detruites $destructionrip = (1 - (1 / pow($TargetPlanet['diameter'], 1 / 4))) * .5; //maintenant qu on sait quelle chance tentons la destruction, allez roule croupier $chance2 = round($destructionrip * 100); // 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 ."
". $StrDefenderUnits ."
". $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 = "
". $title ."
"; $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 .= "

".$AttackerData."
".$AttackerTech.""; if ($b["atakujacy"]['count'] > 0) { $raport1 = ""; $raport2 = ""; $raport3 = ""; $raport4 = ""; $raport5 = ""; foreach ($b["atakujacy"] as $Ship => $Data) { if (is_numeric($Ship)) { if ($Data['count'] > 0) { $raport1 .= ""; $raport2 .= ""; $raport3 .= ""; $raport4 .= ""; $raport5 .= ""; } } } $raport1 .= ""; $raport2 .= ""; $raport3 .= ""; $raport4 .= ""; $raport5 .= ""; $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5; } else { if ($a == 2) { $a_zestrzelona = 1; } $zniszczony = true; $raport .= "
". $lang['sys_destroyed']; } $raport .= "
".$lang['sys_ship_type']."
".$lang['sys_ship_count']."
".$lang['sys_ship_weapon']."
".$lang['sys_ship_shield']."
".$lang['sys_ship_armour']."". $lang["tech_rc"][$Ship] ."". $Data['count'] ."". round($Data["atak"] / $Data['count']) ."". round($Data["tarcza"] / $Data['count']) ."". round($Data["obrona"] / $Data['count']) ."
"; $raport .= "

".$DefenderData."
".$DefenderTech.""; if ($b["wrog"]['count'] > 0) { $raport1 = ""; $raport2 = ""; $raport3 = ""; $raport4 = ""; $raport5 = ""; foreach ($b["wrog"] as $Ship => $Data) { if (is_numeric($Ship)) { if ($Data['count'] > 0) { $raport1 .= ""; $raport2 .= ""; $raport3 .= ""; $raport4 .= ""; $raport5 .= ""; } } } $raport1 .= ""; $raport2 .= ""; $raport3 .= ""; $raport4 .= ""; $raport5 .= ""; $raport .= $raport1 . $raport2 . $raport3 . $raport4 . $raport5; } else { $zniszczony = true; $raport .= "
". $lang['sys_destroyed']; } $raport .= "
".$lang['sys_ship_type']."
".$lang['sys_ship_count']."
".$lang['sys_ship_weapon']."
".$lang['sys_ship_shield']."
".$lang['sys_ship_armour']."". $lang["tech_rc"][$Ship] ."". $Data['count'] ."". round($Data["atak"] / $Data['count']) ."". round($Data["tarcza"] / $Data['count']) ."". round($Data["obrona"] / $Data['count']) ."
"; 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 .= "
".$AttackWaveStat."
".$DefendWavaStat."
"; } } switch ($FleetResult) { case "a": $raport .= $lang['sys_attacker_won'] ."
"; $raport .= $DebrisField ."
"; $raport .= $introdestruc ."
"; $raport .= $lang['sys_destruc_mess1']; $raport .= $finmess ."
"; $raport .= $probalune ."
"; $raport .= $probarip ."
"; break; case "r": $raport .= $lang['sys_both_won'] ."
"; $raport .= $DebrisField ."
"; $raport .= $introdestruc ."
"; $raport .= $lang['sys_destruc_stop'] ."
"; break; case "w": $raport .= $lang['sys_defender_won'] ."
"; $raport .= $DebrisField ."
"; $raport .= $introdestruc ."
"; $raport .= $lang['sys_destruc_stop'] ."
"; doquery("DELETE FROM {{table}} WHERE `fleet_id` = '". $FleetRow["fleet_id"] ."';", 'fleets'); break; default: break; } $SimMessage = sprintf($lang['sys_rapport_build_time'], $totaltime); $raport .= $SimMessage ."
"; $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 = ""; $raport .= "
"; if ($FleetResult == "a") { $raport .= ""; } elseif ($FleetResult == "r") { $raport .= ""; } elseif ($FleetResult == "w") { $raport .= ""; } $raport .= $lang['sys_mess_destruc_report'] ." [". $FleetRow['fleet_end_galaxy'] .":". $FleetRow['fleet_end_system'] .":". $FleetRow['fleet_end_planet'] ."]

"; $raport .= "". $lang['sys_perte_attaquant'] .": ". $zlom["atakujacy"] .""; $raport .= " ". $lang['sys_perte_defenseur'] .":". $zlom["wrog"] ."
" ; $raport .= $lang['sys_debris'] ." ". $lang['Metal'] .":". $zlom['metal'] ." ". $lang['Crystal'] .":". $zlom['crystal'] ."
"; $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 = ""; $raport2 .= "
"; if ($FleetResult == "a") { $raport2 .= ""; } elseif ($FleetResult == "r") { $raport2 .= ""; } elseif ($FleetResult == "w") { $raport2 .= ""; } $raport2 .= $lang['sys_mess_destruc_report'] ." [". $FleetRow['fleet_end_galaxy'] .":". $FleetRow['fleet_end_system'] .":". $FleetRow['fleet_end_planet'] ."]

"; 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' ); } } } }