<?
//require_once('flotte_antideadlock.php'); 
include "config_uni.php";

function is_joueur_batiment_update($planete, &$evo_dest, &$time) {

	$sql = "
		SELECT

		UNIX_TIMESTAMP(terri_evolution) +
		UNIX_TIMESTAMP(fer_evolution) +
		UNIX_TIMESTAMP(or_evolution) +
		UNIX_TIMESTAMP(ada_evolution) +
		UNIX_TIMESTAMP(ura_evolution) +
		UNIX_TIMESTAMP(central_evolution) +
		UNIX_TIMESTAMP(fission_evolution) +
		UNIX_TIMESTAMP(labo_evolution) +
		UNIX_TIMESTAMP(robo_evolution) +
		UNIX_TIMESTAMP(siege_evolution) +
		UNIX_TIMESTAMP(chantier_evolution) +
		UNIX_TIMESTAMP(hangarfer_evolution) +
		UNIX_TIMESTAMP(hangaror_evolution) +
		UNIX_TIMESTAMP(hangarada_evolution) +
		UNIX_TIMESTAMP(hangarura_evolution) +
		UNIX_TIMESTAMP(silo_evolution) +
		UNIX_TIMESTAMP(exfer_evolution) +
		UNIX_TIMESTAMP(exor_evolution) +
		UNIX_TIMESTAMP(defense_evolution) +
		UNIX_TIMESTAMP(mili_evolution)
			AS evolution,

		UNIX_TIMESTAMP(fer_destruction) +
		UNIX_TIMESTAMP(or_destruction) +
		UNIX_TIMESTAMP(ada_destruction) +
		UNIX_TIMESTAMP(ura_destruction) +
		UNIX_TIMESTAMP(labo_destruction) +
		UNIX_TIMESTAMP(robo_destruction) +
		UNIX_TIMESTAMP(siege_destruction) +
		UNIX_TIMESTAMP(chantier_destruction) +
		UNIX_TIMESTAMP(hangarfer_destruction) +
		UNIX_TIMESTAMP(hangaror_destruction) +
		UNIX_TIMESTAMP(hangarada_destruction) +
		UNIX_TIMESTAMP(hangarura_destruction) +
		UNIX_TIMESTAMP(silo_destruction) +
		UNIX_TIMESTAMP(exfer_destruction) +
		UNIX_TIMESTAMP(exor_destruction) +
		UNIX_TIMESTAMP(defense_destruction) +
		UNIX_TIMESTAMP(mili_destruction)
			AS destruction
		FROM matgraph_users
		WHERE id = $planete
		LIMIT 1";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());


	if( $row = mysql_fetch_array($res) ) {
		$evolution = $row['evolution'];
		$destruction = $row['destruction'];

		settype($evolution, "integer");
		if( $evolution != 0 || $destruction != 0 ) {
			if( $evolution <= time() && $evolution != 0 ) {
				$evo_dest = "evolution";
				$time = $evolution;
				return true;
			}
			if( $destruction <= time() && $destruction != 0 ) {
				$evo_dest = "destruction";
				$time = $destruction;
				return true;
			}
			return false;
		}
	}
	return false;
}


function MAJ_joueur_batiment($planete, $update_ressource=true) {

	$update = is_joueur_batiment_update($planete, $option, $time);

	if( $update ) {
		if( $option == "evolution" ) {
			if( $update_ressource ) {
				MAJ_joueur_ressource($planete, $time);

				$now = time();

				$sql = "
					SELECT
						terri_evolution,
						fer_evolution,
						or_evolution,
						ada_evolution,
						ura_evolution,
						central_evolution,
						fission_evolution,
						labo_evolution,
						robo_evolution,
						siege_evolution,
						chantier_evolution,
						hangarfer_evolution,
						hangaror_evolution,
						hangarada_evolution,
						hangarura_evolution,
						silo_evolution,
						exfer_evolution,
						exor_evolution,
						defense_evolution,
						mili_evolution,

						fer_lvl,
						or_lvl,
						ada_lvl,
						ura_lvl,
						exfer_lvl,
						exor_lvl,

						fer_energie,
						or_energie,
						ada_energie,
						ura_energie,
						exfer_energie,
						exor_energie
					FROM matgraph_users
					WHERE id = $planete
					LIMIT 1";
				$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

				$a_evoluer = false;

				while( $row = mysql_fetch_array($res) ) {

					if( $row['terri_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "terri";
						break;
					}
					if( $row['fer_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "fer";
						break;
					}
					if( $row['or_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "or";
						break;
					}
					if( $row['ada_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "ada";
						break;
					}
					if( $row['ura_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "ura";
						break;
					}
					if( $row['central_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "central";
						break;
					}
					if( $row['fission_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "fission";
						break;
					}
					if( $row['labo_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "labo";
						break;
					}
					if( $row['robo_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "robo";
						break;
					}
					if( $row['siege_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "siege";
						break;
					}
					if( $row['chantier_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "chantier";
						break;
					}
					if( $row['hangarfer_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangarfer";
						break;
					}
					if( $row['hangaror_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangaror";
						break;
					}
					if( $row['hangarada_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangarada";
						break;
					}
					if( $row['hangarura_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangarura";
						break;
					}
					if( $row['silo_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "silo";
						break;
					}
					if( $row['exfer_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "exfer";
						break;
					}
					if( $row['exor_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "exor";
						break;
					}
					if( $row['defense_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "defense";
						break;
					}
					if( $row['mili_evolution'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "mili";
						break;
					}

				}


				// Energie des mines
				$sql_energie = "";
				if( $a_evoluer == "fer" ||
					$a_evoluer == "or" ||
					$a_evoluer == "ada" ||
					$a_evoluer == "ura" ||
					$a_evoluer == "exfer" ||
					$a_evoluer == "exor"
				) {

					$energie = $row[$a_evoluer.'_energie'];

					switch($a_evoluer) {
					case 'fer':
						$energie += -30 * bcpow(1.18, $row[fer_lvl],3);
						$energie = round($energie,0);
						break;
					case 'or':
						$energie += -26 * bcpow(1.14, $row[or_lvl],3);
						$energie = round($energie,0);
						break;
					case 'ada':
						$energie += -40 * bcpow(1.12, $row[ada_lvl],3);
						$energie = round($energie,0);
						break;
					case 'ura':
						$energie += -68 * bcpow(1.1, $row[ura_lvl],3);
						$energie = round($energie,0);
						break;
					case 'exfer':
						$energie += -200 * bcpow(1.18, $row[exfer_lvl],3);
						$energie = round($energie,0);
						break;
					case 'exor':
						$energie += -150 * bcpow(1.14, $row[exor_lvl],3);
						$energie = round($energie,0);
						break;
					}

					$sql_energie = " " . $a_evoluer . "_energie = " . $energie . " ";

				}

				// Centrales
				if( $a_evoluer == "central" ||
					$a_evoluer == "fission"
				) {

					$energie = $row[$a_evoluer.'_energie'];

					switch($a_evoluer) {
					case "central":
						$energie += (200/3) * bcpow(1.2, $row[central_lvl],3);
						$energie = round($energie,0);
						break;
					case "fission":
						$energie += (300) * bcpow(1.3, $row[fission_lvl],3);
						$energie = round(energie,0);
						break;
					}

					$sql_energie = " " . $a_evoluer . "_energie = " . $energie . " ";
				}


				if( $a_evoluer !== false ) {
					$sql = "
						UPDATE matgraph_users
						SET " . $a_evoluer . "_lvl = " . $a_evoluer . "_lvl + 1" .
						( ($sql_energie != "") ? ("," . $sql_energie) : "" ) .
						" , placepris = placepris + 1 WHERE id = $planete
						LIMIT 1";
					$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
				}

				MAJ_joueur_ressource($planete, $now);

				// Fini
			}
		} else {
			if( $update_ressource ) {
				MAJ_joueur_ressource($planete, $time);

				$now = time();

				$sql = "
					SELECT
						terri_destruction,
						fer_destruction,
						or_destruction,
						ada_destruction,
						ura_destruction,
						central_destruction,
						fission_destruction,
						labo_destruction,
						robo_destruction,
						siege_destruction,
						chantier_destruction,
						hangarfer_destruction,
						hangaror_destruction,
						hangarada_destruction,
						hangarura_destruction,
						silo_destruction,
						exfer_destruction,
						exor_destruction,
						defense_destruction,
						mili_destruction,

						fer_lvl,
						or_lvl,
						ada_lvl,
						ura_lvl,
						exfer_lvl,
						exor_lvl,

						fer_energie,
						or_energie,
						ada_energie,
						ura_energie,
						exfer_energie,
						exor_energie
					FROM matgraph_users
					WHERE id = $planete
					LIMIT 1";
				$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

				$a_evoluer = false;

				while( $row = mysql_fetch_array($res) ) {

					if( $row['terri_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "terri";
						break;
					}
					if( $row['fer_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "fer";
						break;
					}
					if( $row['or_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "or";
						break;
					}
					if( $row['ada_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "ada";
						break;
					}
					if( $row['ura_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "ura";
						break;
					}
					if( $row['central_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "central";
						break;
					}
					if( $row['fission_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "fission";
						break;
					}
					if( $row['labo_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "labo";
						break;
					}
					if( $row['robo_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "robo";
						break;
					}
					if( $row['siege_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "siege";
						break;
					}
					if( $row['chantier_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "chantier";
						break;
					}
					if( $row['hangarfer_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangarfer";
						break;
					}
					if( $row['hangaror_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangaror";
						break;
					}
					if( $row['hangarada_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangarada";
						break;
					}
					if( $row['hangarura_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "hangarura";
						break;
					}
					if( $row['silo_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "silo";
						break;
					}
					if( $row['exfer_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "exfer";
						break;
					}
					if( $row['exor_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "exor";
						break;
					}
					if( $row['defense_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "defense";
						break;
					}
					if( $row['mili_destruction'] != '0000-00-00 00:00:00' ) {
						$a_evoluer = "mili";
						break;
					}

				}


				// Energie des mines
				$sql_energie = "";
				if( $a_evoluer == "fer" ||
					$a_evoluer == "or" ||
					$a_evoluer == "ada" ||
					$a_evoluer == "ura" ||
					$a_evoluer == "exfer" ||
					$a_evoluer == "exor"
				) {

					$energie = $row[$a_evoluer.'_energie'];

					switch($a_evoluer) {
					case 'fer':
						$energie += 30 * bcpow(1.18, $row[fer_lvl]-1,3);
						$energie = round($energie,0);
						break;
					case 'or':
						$energie += 26 * bcpow(1.14, $row[or_lvl]-1,3);
						$energie = round($energie,0);
						break;
					case 'ada':
						$energie += 40 * bcpow(1.12, $row[ada_lvl]-1,3);
						$energie = round($energie,0);
						break;
					case 'ura':
						$energie += 68 * bcpow(1.1, $row[ura_lvl]-1,3);
						$energie = round($energie,0);
						break;
					case 'exfer':
						$energie += 200 * bcpow(1.18, $row[exfer_lvl]-1,3);
						$energie = round($energie,0);
						break;
					case 'exor':
						$energie += 150 * bcpow(1.14, $row[exor_lvl]-1,3);
						$energie = round($energie,0);
						break;
					}

					$sql_energie = " " . $a_evoluer . "_energie = " . $energie . " ";

				}

				// Centrales
				if( $a_evoluer == "central" ||
					$a_evoluer == "fission"
				) {

					$energie = $row[$a_evoluer.'_energie'];

					switch($a_evoluer) {
					case "central":
						$energie -= (200/3) * bcpow(1.2, $row[central_lvl]-1,3);
						$energie = round($energie,0);
						break;
					case "fission":
						$energie -= (300) * bcpow(1.3, $row[fission_lvl]-1,3);
						$energie = round(energie,0);
						break;
					}

					$sql_energie = " " . $a_evoluer . "_energie = " . $energie . " ";
				}


				if( $a_evoluer !== false ) {
					$sql = "
						UPDATE matgraph_users
						SET " . $a_evoluer . "_lvl = " . $a_evoluer . "_lvl - 1" .
						( ($sql_energie != "") ? ("," . $sql_energie) : "" ) .
						" , placepris = placepris - 1 WHERE id = $planete
						LIMIT 1";
					$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
				}

				MAJ_joueur_ressource($planete, $now);

				// Fini
			}
		}
	} else {
		MAJ_joueur_ressources($planete, time());
	}

}


function MAJ_joueur_ressource($planete, $time) {

	$sql = "
		SELECT
			UNIX_TIMESTAMP(date) AS date,
			fer_on,
			fer_lvl,
			UNIX_TIMESTAMP(fer_evolution) AS fer_evolution,
			or_on,
			or_lvl,
			UNIX_TIMESTAMP(or_evolution) AS or_evolution,
			exfer_on,
			exfer_lvl,
			UNIX_TIMESTAMP(exfer_evolution) AS exfer_evolution,
			exor_on,
			exor_lvl,
			UNIX_TIMESTAMP(exor_evolution) AS exor_evolution,
			ada_on,
			ada_lvl,
			UNIX_TIMESTAMP(ada_evolution) AS ada_evolution,
			ura_on,
			ura_lvl,
			UNIX_TIMESTAMP(ura_evolution) AS ura_evolution,
			mili_nbre,
			mili_lvl,
			UNIX_TIMESTAMP(mili_evolution) AS mili_evolution,

			fission_lvl
		FROM matgraph_users
		WHERE id = $planete
		LIMIT 1";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	// On vérifie qu il n y aurait quand meme pas une evolution
	if( $row = mysql_fetch_array($res) ) {
		settype( $row['fer_evolution'], "integer" );
		if( $row[fer_evolution] < $time && $row[fer_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}
		settype( $row['or_evolution'], "integer" );
		if( $row[or_evolution] < $time && $row[or_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}
		settype( $row['exfer_evolution'], "integer" );
		if( $row[exfer_evolution] < $time && $row[exfer_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}
		settype( $row['exor_evolution'], "integer" );
		if( $row[exor_evolution] < $time && $row[exor_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}
		settype( $row['ada_evolution'], "integer" );
		if( $row[ada_evolution] < $time && $row[ada_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}
		settype( $row['ura_evolution'], "integer" );
		if( $row[ura_evolution] < $time && $row[ura_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}
		settype( $row['mili_evolution'], "integer" );
		if( $row[mili_evolution] < $time && $row[mili_evolution] != 0 ) {
			MAJ_joueur_batiment($planete);
			return;
		}

		settype( $row['date'], "integer" );
		if( $row['date'] > $time ) {
			return;
		}

		// Ok, on MAJ

		$dif_temps = ($time - $row['date']) / 3600;

		$fer_ajout = 0;
		$or_ajout = 0;
		$ada_ajout = 0;
		$ura_ajout = 0;
		$mili_ajout = 0;

		// Mine de fer
		$fer_ajout += ((($row[fer_lvl] == "0") ? 0 : (100 * $row['fer_on'] * bcpow( 1.18, $row['fer_lvl'], 3 ))) + 20) * dif_temps;

		// Extracteur de fer
		$fer_ajout += ($row[exfer_lvl] == "0") ? 0 : (500 * $row['exfer_on'] * bcpow( 1.2, $row['exfer_lvl'], 3 ) * dif_temps);

		// Mine d or
		$or_ajout += ((($row[or_lvl] == "0") ? 0 : (90 * $row['or_on'] * bcpow( 1.15, $row['or_lvl'], 3 ))) + 10) * dif_temps;

		// Extracteur d or
		$or_ajout += ($row[exor_lvl] == "0") ? 0 : (500 * $row['exor_on'] * bcpow( 1.25, $row['exor_lvl'], 3 ) * dif_temps);

		// Mine de cristal
		$ada_ajout += ((($row[ada_lvl] == "0") ? 0 : (100 * $row['ada_on'] * bcpow( 1.2, $row['ada_lvl'], 3 ))) + 5) * dif_temps;

		// Mine de naqua
		$ura_ajout += ((($row[ura_lvl] == "0") ? 0 : (100 * $row['ura_on'] * bcpow( 1.2, $row['ura_lvl'], 3 ))) + 2) * dif_temps;

		// Fission
		$ura_ajout -= ($row[fission_lvl] == "0") ? 0 : (20 * bcpow( 1.3, $row[fission_lvl],3) *dif_temps);

		$mili_ajout += ($row[mili_lvl] == "0" ) ? 0 : (2.5 * bcpow( 2, $row[mili_lvl] + 1,3) * $dif_temps);


		MAJ_joueur_militaires($row[mili_lvl], $row[mili_nbre], $mili_ajout, $dif_temps);


		$sql = "
			UPDATE matgraph_users
			SET
				fer_ressource = fer_ressource + $fer_ajout,
				or_ressource = or_ressource + $or_ajout,
				ada_ressource = ada_ressource + $ada_ajout,
				ura_ressource = ura_ressource + $ura_ajout,
				mili_nbre = mili_nbre + $mili_ajout
			WHERE id = $planete
			LIMIT 1";

		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		MAJ_joueur_ressources_hangar($planete);

	}

}

/*
function MAJ_joueur_militaires($lvl, $nbre, &$ajout, $diftemps) {

	$capacite = round((10000 * bcpow( 2, $lvl, 3)),0) + 10000;

	if( ($nbre+$ajout) > $capacite )
	{
		$surplus = $nbre + $ajout - $capacite;
		if( $surplus < ($diftemps*60) )
		{

			$ajout -= $surplus;
			if($surplus > 500)
			{
				echo '<script language=javascript> alert ("Vous avez dépassé la capcité de votre caserne militaire, '.$surplus.' soldats sont mort de faim.");</script>';
			}
		}
		else
		{
			$dead = $diftemps*60;
			$ajout -= ($diftemps*60);
			if($dead > 300)
			{
				echo '<script language=javascript> alert ("Vous avez dépassé la capcité de votre caserne militaire, '.$dead.' soldats sont mort de faim, Si vous ne faite pas quelque chose,d\'autre mourront également.");</script>';
			}

		}
	}

}
*/

function MAJ_joueur_ressources_hangar($planete) {

	if( !isset($planete) ) {
		return;
	}

	$sql = "
		UPDATE matgraph_users
		SET
			fer_ressource = IF( fer_ressource >
	";


}


function Calcul_flotte($planete, $time, $nb_fois = 0) {

	// On sélectionne tous les deplacements en provenance ou en direction de la planete
	global $debug;
	if( !isset($planete) ) {
		return;
	}

	$sql = "
		SELECT *
		FROM matgraph_mobil
		WHERE (iddepart IN (SELECT id FROM matgraph_users WHERE idjoueur = (
		SELECT idjoueur FROM matgraph_users WHERE id = ".$planete." LIMIT 1))
		OR iddestination IN (SELECT id FROM matgraph_users WHERE idjoueur = (
		SELECT idjoueur FROM matgraph_users WHERE id = ".$planete." LIMIT 1)))";
	if(isset($time)) {
		$sql .= " AND date <= '$time'";
	}
	$sql .= " ORDER BY date ASC";

	if( isset($debug) ) {
		//echo "<br>$sql<br>";
	}

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	if( mysql_num_rows($res) == 0 ) {
		return;
	}

	while( $row = mysql_fetch_array($res) ) {
		/*$sql2 = "UPDATE matgraph_mobil
				SET mission = 'En_cours'  
				WHERE id = '".$row['id']."'";
			$res2 = db_mysql_Query($sql2);*/
	
		if( $row['iddepart'] == $planete ) {

			switch($row['mission']) {

			case 'aller' :
				// Combat
				// On MAJ la planete visée

				Calcul_flotte($row['iddestination'], $row['date']);

				// On lance le combat
				Calcul_aller($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			case 'retour' :

				//
				Calcul_retour($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			case 'baser' :

				//

				Calcul_baser($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			case 'transport' :

				Calcul_transport($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			}

		} else {

			switch($row['mission']) {

			case 'aller' :
				// Combat
				// On MAJ la planete visée

				// Ben NON lol, on est déjà entrain de la MAJ ^^
				//Calcul_flotte($planete, $row['date']);

				// On lance le combat
				if( isset($debug) ) {
					//echo "<br>Lancement combat";
				}
				Calcul_aller($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			case 'retour' :

				//
				Calcul_retour($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			case 'baser' :

				//

				Calcul_baser($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			case 'transport' :

				Calcul_transport($row['iddepart'], $row['iddestination'], $row['date']);

				break;

			}

		}
		/*$sql3 = "UPDATE matgraph_mobil
				SET mission = '".$row['mission']."'  
				WHERE id = '".$row['id']."' AND mission = 'En_cours'";
			$res3 = db_mysql_Query($sql3);*/
		

	}

	if( $nb_fois == 0 ) {
		Calcul_flotte($planete, $time, 1);
	}

}


// Fonction combat
function Calcul_aller( $attaquant, $defenseur, $date ) {


$sql ="SELECT idjoueur FROM matgraph_users WHERE id = ".$defenseur." LIMIT 1";
$res = db_mysql_Query($sql);//or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
$row = mysql_fetch_array($res);
$last_idlogin = $idlogin; 
$last_planete = $planete; 
$idlogin = $row['idjoueur']; 
$planete = $defenseur; 
include("ressource2.php"); 
$idlogin = $last_idlogin; 
$planete = $last_planete; 

	$sql = "
		SELECT idvaisseau, nom, place, priorite, arme, bouclier, coque, matgraph_mobil.nombre AS nombre, voyage
		FROM matgraph_mobil, matgraph_vaisseaux
		WHERE mission = 'aller'
		AND iddepart = $attaquant
		AND iddestination = $defenseur
		AND date = '$date'
		AND idvaisseau = matgraph_vaisseaux.id
		ORDER BY arme DESC, bouclier DESC, coque DESC";

	global $debug;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	$flotte_attaquant = array();

	while( $row = mysql_fetch_array($res) ) {

		if( $row['nombre'] > 0 ) {

			$flotte_attaquant[] = array(
				$row['nom'],
				$row['place'],
				$row['priorite'],
				$row['arme'],
				$row['bouclier'],
				$row['coque'],
				$row['bouclier'],
				$row['coque'],
				$row['nombre'],
				$row['nombre'],
				0,
				$row['voyage'],
				$row['idvaisseau']
			);

		}

	}

	if( count($flotte_attaquant) == 0 ) {
		$sql = "DELETE FROM matgraph_mobil WHERE iddepart = $attaquant AND iddestination = $defenseur AND date = '$date'";
		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
		return;
	}

	$liste_attaquant = $flotte_attaquant;

	$sql = "
		SELECT matgraph_vaisseaux.id AS id, nom, place, arme, bouclier, coque, chantier_lvl, nbre
		FROM matgraph_nbrevaisseaux, matgraph_vaisseaux
		WHERE planete = $defenseur
		AND vaisseau = matgraph_vaisseaux.id
		AND nbre != 0
		ORDER BY arme DESC, bouclier DESC, coque DESC";

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	$flotte_defenseur = array();

	while( $row = mysql_fetch_array($res) ) {
		if($row['nbre'] < 0){
			$query="UPDATE FROM matgraph_vaisseaux SET nbre=0 WHERE id='".$row['id']."'";
			$sql=db_mysql_Query($query);
			$nbre=0;
		}else{
			$nbre=$row['nbre'];
		}
		$flotte_defenseur[] = array(
			$row['nom'],
			$row['place'],
			'fort',
			$row['arme'],
			$row['bouclier'],
			$row['coque'],
			$row['bouclier'],
			$row['coque'],
			$nbre,
			0,
			0,
			$row['chantier_lvl'],
			$row['id']
		);
	}

	$liste_def_sql = unserialize( LISTE_DEF_SQL );
	$liste_def = unserialize( LISTE_DEF );

	$dca_defenseur = array();

	if( count($liste_def_sql) != 0 ) {

		$sql = "
			SELECT ";

		$i = 0;
		for( $i = 0 ; $i < (count($liste_def_sql) - 1) ; ++$i ) {
			$sql .= $liste_def_sql[$i] . ", ";
		}
		$sql .= $liste_def_sql[$i];

		$sql .= "
			FROM matgraph_users
			WHERE id = $defenseur";


		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		if( $row = mysql_fetch_array($res) ) {

			for( $i = 0 ; $i < count($liste_def_sql) ; ++$i ) {
				if( $row[$liste_def_sql[$i]] > 0 ) {
					// Declarations des globales
					global ${$liste_def[$i]."_NOM"}, ${$liste_def[$i]."_ARME"};
					global ${$liste_def[$i]."_BOUCLIER"}, ${$liste_def[$i]."_COQUE"};
					$dca_defenseur[] = array(
						${$liste_def[$i]."_NOM"},
						0,
						'faible',
						${$liste_def[$i]."_ARME"},
						${$liste_def[$i]."_BOUCLIER"},
						${$liste_def[$i]."_COQUE"},
						${$liste_def[$i]."_BOUCLIER"},
						${$liste_def[$i]."_COQUE"},
						$row[$liste_def_sql[$i]],
						0,
						0,
						-1,
						$i
					);

				}
			}

		}

	}

	// On merge dca et vaisseaux

	$liste_defenseur = $flotte_defenseur;
	foreach( $dca_defenseur as $dca ) {

		$j = count($liste_defenseur);
		$liste_defenseur[] = $dca;
		for( $i = $j-1 ; $i >= 0 ; --$i, --$j ) {
			if( $liste_defenseur[$i][3] < $liste_defenseur[$j][3] ) {
				$liste_defenseur[$j] = $liste_defenseur[$i];
				$liste_defenseur[$i] = $dca;
			}
			else if( $liste_defenseur[$i][3] == $liste_defenseur[$j][3] ) {
				if( $liste_defenseur[$i][4] < $liste_defenseur[$j][4] ) {
					$liste_defenseur[$j] = $liste_defenseur[$i];
					$liste_defenseur[$i] = $dca;
				}
				else if( $liste_defenseur[$i][4] == $liste_defenseur[$j][4] ) {
					if( $liste_defenseur[$i][5] < $liste_defenseur[$i][5] ) {
						$liste_defenseur[$j] = $liste_defenseur[$i];
						$liste_defenseur[$i] = $dca;
					}
					else {
						break;
					}
				}
				else {
					break;
				}
			}
			else {
				// Trié ok
				break;
			}
		}
	}

	// Gestion equipage

	$sql = "SELECT mili_nbre FROM matgraph_users WHERE id = $defenseur LIMIT 1";

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	$equipage = 0;
	if( $row = mysql_fetch_array($res) ) {
		$equipage = $row['mili_nbre'];
	}


	for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
		if( $liste_defenseur[$i][8] > $liste_defenseur[$i][9] ) {
			// Calcul de l equipage
			$necessaire = $equipage + 1;

			switch($liste_defenseur[$i][11]) {

				case -1:
					// Defense
					$necessaire = 2; break;
				case 1 :
					$necessaire = 2 ; break ;
				case 2 :
					$necessaire = 50 ; break ;
				case 4 :
					$necessaire = 100 ; break ;
				case 5 :
					$necessaire = 500 ; break ;
				case 7 :
					$necessaire = 1000 ; break ;
				case 10 :
					$necessaire = 2500 ; break ;
			}

			if( $necessaire <= $equipage ) {
				$equipage -= $necessaire;
				$liste_defenseur[$i][9]++;
				$equipe = true;
				--$i;
			}
		}
	}


	// Toutes liste finies

	// Tech

	$sql = "SELECT techarmement_lvl, techbouclier_lvl, techcoque_lvl FROM matgraph_users
	WHERE id = (SELECT idjoueur FROM matgraph_users WHERE id = ".$attaquant." LIMIT 1) LIMIT 1";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$row = mysql_fetch_array($res);

	for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {
		// 3,4,5 6,7
		$liste_attaquant[$i][3] *= (1 + $row['techarmement_lvl']/10);
		$liste_attaquant[$i][4] *= (1 + $row['techbouclier_lvl']/10);
		$liste_attaquant[$i][5] *= (1 + $row['techcoque_lvl']/10);

		$liste_attaquant[$i][6] *= (1 + $row['techbouclier_lvl']/10);
		$liste_attaquant[$i][7] *= (1 + $row['techcoque_lvl']/10);
	}


	$sql = "SELECT techarmement_lvl, techbouclier_lvl, techcoque_lvl FROM matgraph_users
	WHERE id = (SELECT idjoueur FROM matgraph_users WHERE id = ".$defenseur." LIMIT 1) LIMIT 1";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$row = mysql_fetch_array($res);

	for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
		// 3,4,5 6,7
		$liste_defenseur[$i][3] *= (1 + $row['techarmement_lvl']/10);
		$liste_defenseur[$i][4] *= (1 + $row['techbouclier_lvl']/10);
		$liste_defenseur[$i][5] *= (1 + $row['techcoque_lvl']/10);

		$liste_defenseur[$i][6] *= (1 + $row['techbouclier_lvl']/10);
		$liste_defenseur[$i][7] *= (1 + $row['techcoque_lvl']/10);
	}

	$passe = array();

	$total_attaquant = 0;
	$total_defenseur = 0;

	for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {
		$total_attaquant += $liste_attaquant[$i][9] - $liste_attaquant[$i][10];
	}
	for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
		$total_defenseur += $liste_defenseur[$i][9] - $liste_defenseur[$i][10];
	}
	$absorbe14=0;
	$absorbe13=0;
	$degats = true;

	while( $total_attaquant > 0 && $total_defenseur > 0 && $degats ) {

		$degats = false;

		$total_attaque_faible = 0;
		$total_attaque_fort = 0;

		$passe[] = array();

		for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {
			if( $liste_attaquant[$i][2] == 'faible' ) {
				$total_attaque_faible += ($liste_attaquant[$i][9] - $liste_attaquant[$i][10]) * $liste_attaquant[$i][3];
			}
			if( $liste_attaquant[$i][2] == 'fort' ) {
				$total_attaque_fort += ($liste_attaquant[$i][9] - $liste_attaquant[$i][10]) * $liste_attaquant[$i][3];
			}
		}

		$passe[count($passe)-1][0] = $total_attaque_faible;
		$passe[count($passe)-1][1] = $total_attaque_fort;
		$passe[count($passe)-1][2] = array();
		$passe[count($passe)-1][3] = array();
		for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
			$passe[count($passe)-1][2][] = 0;
			$passe[count($passe)-1][3][] = 0;
		}

		while( $total_attaque_fort > 0 && $total_defenseur > 0 ) {
			// Cherche cible
			for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
				if( $liste_defenseur[$i][10] < $liste_defenseur[$i][9] ) {
					break;
				}
			}
			if( $liste_defenseur[$i][10] >= $liste_defenseur[$i][9] ) {
				// Gnié ?? Plus de survivant ? Et on est dans la boucle ?
				$total_defenseur = 0;
			} else {

				// On a la cible
				// Pack
				if( $liste_defenseur[$i][6] == $liste_defenseur[$i][4] && $liste_defenseur[$i][7] == $liste_defenseur[$i][5] ) {
					if( $total_attaque_fort > ($liste_defenseur[$i][6] + $liste_defenseur[$i][7]) ) {
						$nb_tuer = floor( $total_attaque_fort / ($liste_defenseur[$i][6] + $liste_defenseur[$i][7]) );

						if( $nb_tuer > ($liste_defenseur[$i][9]-$liste_defenseur[$i][10]) ) {
							$nb_tuer = $liste_defenseur[$i][9]-$liste_defenseur[$i][10];
						}
						if( $nb_tuer > 0 ) {
							$total_attaque_fort -= ($liste_defenseur[$i][6] + $liste_defenseur[$i][7]) * $nb_tuer;
							$liste_defenseur[$i][10] += $nb_tuer;
							$total_defenseur -= $nb_tuer;
							$degats = true;
							$absorbe13 = $nb_tuer*$liste_defenseur[$i][6];
							// Rapport
							$passe[count($passe)-1][2][$i] += $nb_tuer;
						}
					}
				}
				$total_attaqueb=$total_attaque_fort;
				if( $total_attaque_fort > $liste_defenseur[$i][6] && $liste_defenseur[$i][10] < $liste_defenseur[$i][9] ) {
					$total_attaque_fort -= $liste_defenseur[$i][6];
					//$liste_defenseur[$i][6] = 0;
					if( $total_attaque_fort > $liste_defenseur[$i][7] ) {
						$total_attaque_fort -= $liste_defenseur[$i][7];
						++$liste_defenseur[$i][10];
						--$total_defenseur;
						//$liste_defenseur[$i][6] = $liste_defenseur[$i][4];
						$liste_defenseur[$i][7] = $liste_defenseur[$i][5];
						$degats = true;

						// Rapport
						$passe[count($passe)-1][2][$i]++;
					} else {
						$liste_defenseur[$i][7] -= $total_attaque_fort;
						$total_attaque_fort = 0;
						$degats = true;

						// Rapport
						//$passe[count($passe)-1][2][] = array($liste_defenseur[$i][0], 'Coque', $liste_defenseur[$i][7]);
					}
				} else if( $liste_defenseur[$i][10] < $liste_defenseur[$i][9] ) {
					//$liste_defenseur[$i][6] -= $total_attaque_fort;
					$total_attaque_fort = 0;

					// Rapport
					//$passe[count($passe)-1][2][] = array($liste_defenseur[$i][0], 'Bouclier', $liste_defenseur[$i][6]);
				}
				$absorbe13+=min($liste_defenseur[$i][6],$total_attaqueb);
				$liste_defenseur[$i][6] = $liste_defenseur[$i][6] -$total_attaqueb+$liste_defenseur[$i][6] *0.6;///////////////////
				if ($liste_defenseur[$i][6]>$liste_defenseur[$i][4])
					  $liste_defenseur[$i][6]=$liste_defenseur[$i][4];
					if ($liste_defenseur[$i][6]<0){
					       if ($vaisseau_detruit)
                    $liste_defenseur[$i][6]=$liste_defenseur[$i][4];
                  else
                    $liste_defenseur[$i][6]=0;
              }
          	$vaisseau_detruit=false;
            }
		}

		while( $total_attaque_faible > 0 && $total_defenseur > 0 ) {
			// Cherche cible
			for( $i = count($liste_defenseur) - 1 ; $i > 0 ; --$i ) {
				if( $liste_defenseur[$i][10] < $liste_defenseur[$i][9] ) {
					break;
				}
			}
			if( $liste_defenseur[$i][10] >= $liste_defenseur[$i][9] ) {
				// Gnié ?? Plus de survivant ? Et on est dans la boucle ?
				$total_defenseur = 0;
			} else {

				// On a la cible
				// Pack
				if( $liste_defenseur[$i][6] == $liste_defenseur[$i][4] && $liste_defenseur[$i][7] == $liste_defenseur[$i][5] ) {
					if( $total_attaque_faible > ($liste_defenseur[$i][6] + $liste_defenseur[$i][7]) ) {
						$nb_tuer = floor( $total_attaque_faible / ($liste_defenseur[$i][6] + $liste_defenseur[$i][7]) );

						if( $nb_tuer > ($liste_defenseur[$i][9]-$liste_defenseur[$i][10]) ) {
							$nb_tuer = $liste_defenseur[$i][9]-$liste_defenseur[$i][10];
						}
						if( $nb_tuer > 0 ) {
							$total_attaque_faible -= ($liste_defenseur[$i][6] + $liste_defenseur[$i][7]) * $nb_tuer;
							$liste_defenseur[$i][10] += $nb_tuer;
							$total_defenseur -= $nb_tuer;
							$degats = true;
							$absorbe13 = $nb_tuer*$liste_defenseur[$i][6];
							// Rapport
							$passe[count($passe)-1][3][$i] += $nb_tuer;
						}
					}
				}
				if( $total_attaque_faible > $liste_defenseur[$i][6] && $liste_defenseur[$i][10] < $liste_defenseur[$i][9] ) {
					$total_attaque_faible -= $liste_defenseur[$i][6];
					//$liste_defenseur[$i][6] = 0;
					if( $total_attaque_faible > $liste_defenseur[$i][7] ) {
						$total_attaque_faible -= $liste_defenseur[$i][7];
						++$liste_defenseur[$i][10];
						--$total_defenseur;
						//$liste_defenseur[$i][6] = $liste_defenseur[$i][4];
						$liste_defenseur[$i][7] = $liste_defenseur[$i][5];
						$degats = true;
						
						$vaisseau_detruit=true;
						// Rapport
						//$passe[count($passe)-1][3][] = array($liste_defenseur[$i][0]);
						$passe[count($passe)-1][3][$i]++;

					} else {
						$liste_defenseur[$i][7] -= $total_attaque_faible;
						$total_attaque_faible = 0;
						$degats = true;

						// Rapport
						//$passe[count($passe)-1][3][] = array($liste_defenseur[$i][0], 'Coque', $liste_defenseur[$i][7]);
					}
				} else if( $liste_defenseur[$i][10] < $liste_defenseur[$i][9] ) {
					//$liste_defenseur[$i][6] -= $total_attaque_faible;
					$total_attaque_fort = 0;

					// Rapport
					//$passe[count($passe)-1][3][] = array($liste_defenseur[$i][0], 'Bouclier', $liste_defenseur[$i][6]);
				}
				$absorbe13+=min($liste_defenseur[$i][6],$total_attaqueb);
				$liste_defenseur[$i][6] = $liste_defenseur[$i][6] -$total_attaqueb+$liste_defenseur[$i][6] *0.6;///////////////////
					if ($liste_defenseur[$i][6]>$liste_defenseur[$i][4])
					       $liste_defenseur[$i][6]=$liste_defenseur[$i][4];
					if ($liste_defenseur[$i][6]<0){
					       if ($vaisseau_detruit)
                    $liste_defenseur[$i][6]=$liste_defenseur[$i][4];
                  else
                    $liste_defenseur[$i][6]=0;
          }
          $vaisseau_detruit=false;
			}
		}

		$total_defense_faible = 0;
		$total_defense_fort = 0;

		for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
			if( $liste_defenseur[$i][2] == 'faible' ) {
				$total_defense_faible += ($liste_defenseur[$i][9] - $liste_defenseur[$i][10]) * $liste_defenseur[$i][3];
			}
			if( $liste_defenseur[$i][2] == 'fort' ) {
				$total_defense_fort += ($liste_defenseur[$i][9] - $liste_defenseur[$i][10]) * $liste_defenseur[$i][3];
			}
		}

		$passe[count($passe)-1][4] = $total_defense_faible;
		$passe[count($passe)-1][5] = $total_defense_fort;
		$passe[count($passe)-1][6] = array();
		$passe[count($passe)-1][7] = array();

		for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {
			$passe[count($passe)-1][6][] = 0;
			$passe[count($passe)-1][7][] = 0;
		}

		while( $total_defense_fort > 0 && $total_attaquant > 0 ) {
			// Cherche cible
			for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {
				if( $liste_attaquant[$i][10] < $liste_attaquant[$i][9] ) {
					break;
				}
			}
			if( $liste_attaquant[$i][10] >= $liste_attaquant[$i][9] ) {
				// Gnié ?? Plus de survivant ? Et on est dans la boucle ?
				$total_attaquant = 0;
			} else {

				// On a la cible
				// Pack
				if( $liste_attaquant[$i][6] == $liste_attaquant[$i][4] && $liste_attaquant[$i][7] == $liste_attaquant[$i][5] ) {
					if( $total_defense_fort > ($liste_attaquant[$i][6] + $liste_attaquant[$i][7]) ) {
						$nb_tuer = floor( $total_defense_fort / ($liste_attaquant[$i][6] + $liste_attaquant[$i][7]) );

						if( $nb_tuer > ($liste_attaquant[$i][9]-$liste_attaquant[$i][10]) ) {
							$nb_tuer = $liste_attaquant[$i][9]-$liste_attaquant[$i][10];
						}
						if( $nb_tuer > 0 ) {
							$total_defense_fort -= ($liste_attaquant[$i][6] + $liste_attaquant[$i][7]) * $nb_tuer;
							$liste_attaquant[$i][10] += $nb_tuer;
							$total_attaquant -= $nb_tuer;
							$degats = true;
							$absorbe14 = $nb_tuer*$liste_attaquant[$i][6];
							// Rapport
							$passe[count($passe)-1][6][$i] += $nb_tuer;
						}
					}
				}
				$total_attaqueb=$total_defense_fort;
				if( $total_defense_fort > $liste_attaquant[$i][6] && $liste_attaquant[$i][10] < $liste_attaquant[$i][9] ) {
					$total_defense_fort -= $liste_attaquant[$i][6];
					//$liste_attaquant[$i][6] = 0;
					if( $total_defense_fort > $liste_attaquant[$i][7] ) {
						$total_defense_fort -= $liste_attaquant[$i][7];
						++$liste_attaquant[$i][10];
						--$total_attaquant;
						//$liste_attaquant[$i][6] = $liste_attaquant[$i][4];
						$liste_attaquant[$i][7] = $liste_attaquant[$i][5];
						$degats = true;
						
						$vaisseau_detruit=true;
						// Rapport
						//$passe[count($passe)-1][6][] = array($liste_attaquant[$i][0]);
						$passe[count($passe)-1][6][$i]++;

					} else {
						$liste_attaquant[$i][7] -= $total_defense_fort;
						$total_defense_fort = 0;
						$degats = true;

						// Rapport
						//$passe[count($passe)-1][6][] = array($liste_attaquant[$i][0], 'Coque', $liste_attaquant[$i][7]);
					}
				} elseif( $liste_attaquant[$i][10] < $liste_attaquant[$i][9] ) {
					//$liste_attaquant[$i][6] -= $total_defense_fort;
					$total_defense_fort = 0;

					// Rapport
					//$passe[count($passe)-1][6][] = array($liste_attaquant[$i][0], 'Bouclier', $liste_attaquant[$i][6]);
				}
				$absorbe14+=min($liste_attaquant[$i][6],$total_attaqueb);
				$liste_attaquant[$i][6] = $liste_attaquant[$i][6] -$total_attaqueb+$liste_attaquant[$i][6] *0.6;///////////////////
					if ($liste_attaquant[$i][6]>$liste_attaquant[$i][4])
					       $liste_attaquant[$i][6]=$liste_attaquant[$i][4];
    					if ($liste_attaquant[$i][6]<0){
					       	if ($vaisseau_detruit)
                    $liste_attaquant[$i][6]=$liste_attaquant[$i][4];
                  else
                    $liste_attaquant[$i][6]=0;
              }
          $vaisseau_detruit=false;
			}
		}

		while( $total_defense_faible > 0 && $total_attaquant > 0 ) {
			// Cherche cible
			for( $i = count($liste_attaquant) - 1 ; $i > 0 ; --$i ) {
				if( $liste_attaquant[$i][10] < $liste_attaquant[$i][9] ) {
					break;
				}
			}
			if( $liste_attaquant[$i][10] >= $liste_attaquant[$i][9] ) {
				// Gnié ?? Plus de survivant ? Et on est dans la boucle ?
				$total_attaquant = 0;
			} else {

				// On a la cible
				// Pack
				if( $liste_attaquant[$i][6] == $liste_attaquant[$i][4] && $liste_attaquant[$i][7] == $liste_attaquant[$i][5] ) {
					if( $total_defense_faible > ($liste_attaquant[$i][6] + $liste_attaquant[$i][7]) ) {
						$nb_tuer = floor( $total_defense_faible / ($liste_attaquant[$i][6] + $liste_attaquant[$i][7]) );

						if( $nb_tuer > ($liste_attaquant[$i][9]-$liste_attaquant[$i][10]) ) {
							$nb_tuer = $liste_attaquant[$i][9]-$liste_attaquant[$i][10];
						}
						if( $nb_tuer > 0 ) {
							$total_defense_faible -= ($liste_attaquant[$i][6] + $liste_attaquant[$i][7]) * $nb_tuer;
							$liste_attaquant[$i][10] += $nb_tuer;
							$total_attaquant -= $nb_tuer;
							$degats = true;
							$absorbe14 = $nb_tuer*$liste_attaquant[$i][6];
							// Rapport
							$passe[count($passe)-1][7][$i] += $nb_tuer;
						}
					}
				}
				$total_attaqueb=$total_defense_faible;
				if( $total_defense_faible > $liste_attaquant[$i][6] && $liste_attaquant[$i][10] < $liste_attaquant[$i][9] ) {
					$total_defense_faible -= $liste_attaquant[$i][6];
					//$liste_attaquant[$i][6] = 0;
					if( $total_defense_faible > $liste_attaquant[$i][7] ) {
						$total_defense_faible -= $liste_attaquant[$i][7];
						++$liste_attaquant[$i][10];
						--$total_attaquant;
						//$liste_attaquant[$i][6] = $liste_attaquant[$i][4];
						$liste_attaquant[$i][7] = $liste_attaquant[$i][5];
						$degats = true;

						// Rapport
						//$passe[count($passe)-1][7][] = array($liste_attaquant[$i][0]);
						$passe[count($passe)-1][7][$i]++;
					} else {
						$liste_attaquant[$i][7] -= $total_defense_faible;
						$total_defense_faible = 0;
						$degats = true;

						// Rapport
						//$passe[count($passe)-1][7][] = array($liste_attaquant[$i][0], 'Coque', $liste_attaquant[$i][7]);
					}
				} elseif( $liste_attaquant[$i][10] < $liste_attaquant[$i][9] ) {
					//$liste_attaquant[$i][6] -= $total_defense_faible;
					$total_defense_fort = 0;

					// Rapport
					//$passe[count($passe)-1][7][] = array($liste_attaquant[$i][0], 'Bouclier', $liste_attaquant[$i][6]);
				}
				$absorbe14+=min($liste_attaquant[$i][6],$total_attaqueb);
				$liste_attaquant[$i][6] = $liste_attaquant[$i][6] -$total_attaqueb+$liste_attaquant[$i][6] *0.6;///////////////////
					if ($liste_attaquant[$i][6]>$liste_attaquant[$i][4])
					       $liste_attaquant[$i][6]=$liste_attaquant[$i][4];
					if ($liste_attaquant[$i][6]<0){
					       if ($vaisseau_detruit)
                    $liste_attaquant[$i][6]=$liste_attaquant[$i][4];
                  else
                    $liste_attaquant[$i][6]=0;
          }
          $vaisseau_detruit=false;
          
			}
		}

	$passe[count($passe)-1][14]=$absorbe14;
	$passe[count($passe)-1][13]=$absorbe13;
	$absorbe14=0;
	$absorbe13=0;
	}
	// Fin combat
	$win_def = $win_att = false;

	if( $total_defenseur == 0 ) {
		$win_att = true;
	} else {
		$win_def = true;
	}

	$fer_a_voler = 0;
	$or_a_voler = 0;
	$ada_a_voler = 0;
	$ura_a_voler = 0;
	
	$fer_ruines = 0;
	$or_ruines = 0;
	$ada_ruines = 0;


	if( $win_att ) {
		// Vol

		$sql = "
			SELECT fer_ressource, or_ressource, ada_ressource, ura_ressource
			FROM matgraph_users
			WHERE id = $defenseur
			LIMIT 1";

		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		if( $row = mysql_fetch_array($res) ) {
			$fer_a_voler = ceil((60 * $row['fer_ressource']) / 100) ;
			$or_a_voler = ceil((60 * $row['or_ressource']) / 100) ;
			$ada_a_voler = ceil((60 * $row['ada_ressource']) / 100) ;
			$ura_a_voler = ceil((60 * $row['ura_ressource']) / 100) ;


			$fret_possible = 0;
			for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {
				$fret_possible += ($liste_attaquant[$i][9] - $liste_attaquant[$i][10]) * $liste_attaquant[$i][1];
			}

			$a_voler = $fer_a_voler + $or_a_voler + $ada_a_voler + $ura_a_voler;

			$ratio = $fret_possible / $a_voler;

			$ratio = ($ratio > 1) ? 1 : $ratio;

			$fer_a_voler *= $ratio;
			$or_a_voler *= $ratio;
			$ada_a_voler *= $ratio;
			$ura_a_voler *= $ratio;

			$fer_a_voler = ceil($fer_a_voler);
			$or_a_voler = ceil($or_a_voler);
			$ada_a_voler = ceil($ada_a_voler);
			$ura_a_voler = ceil($ura_a_voler);


			$sql = "
				UPDATE matgraph_users
				SET fer_ressource = fer_ressource - " . $fer_a_voler .",
				or_ressource = or_ressource - " . $or_a_voler .",
				ada_ressource = ada_ressource - " . $ada_a_voler .",
				ura_ressource = ura_ressource - " . $ura_a_voler ."
				WHERE id = $defenseur
				LIMIT 1";

			$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());


			// Gestion des kills

			// Attaquant

			$fret = true;

			for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {

				if( $liste_attaquant[$i][9] > $liste_attaquant[$i][10] ) {

					$sql = "
		UPDATE matgraph_mobil
		SET nombre = nombre - ";
			if( $liste_attaquant[$i][10] > $liste_attaquant[$i][8]){
				$sql.=$liste_attaquant[$i][8];
			}else{
				$sql.=$liste_attaquant[$i][10];
			}
			$sql .= ", mission = 'retour'";

					if( $fret ) {
						$sql .= "
		, fret_fer = " . $fer_a_voler . ", fret_or = " . $or_a_voler
		. ", fret_ada = " . $ada_a_voler . ", fret_ura = " . $ura_a_voler;

						$fret = false;
					}

					$sql .= ", date = FROM_UNIXTIME(UNIX_TIMESTAMP(date)+voyage)
		WHERE iddepart = $attaquant AND iddestination = $defenseur AND date = '$date' AND mission = 'aller' AND idvaisseau = " . $liste_attaquant[$i][12];

				$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

				} else {

					$sql = "
		DELETE FROM matgraph_mobil WHERE iddepart = $attaquant AND iddestination = $defenseur AND date = '$date' AND mission = 'aller' AND idvaisseau = " . $liste_attaquant[$i][12];

			$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

				}

			$sql_ruines_att = "SELECT fer, orr, ada FROM matgraph_vaisseaux WHERE id = ".$liste_attaquant[$i][12];
			$res_ruines_att = db_mysql_Query($sql_ruines_att)or die('erreur sql<br>'.$sql_ruines_att.'<br>'.mysql_error());
			$row_ruines_att = mysql_fetch_array($res_ruines_att);
			
			$fer_ruines += $row_ruines_att[fer]*$liste_attaquant[$i][10];
			$or_ruines += $row_ruines_att[orr]*$liste_attaquant[$i][10];
			$ada_ruines += $row_ruines_att[ada]*$liste_attaquant[$i][10];

			}


			// Defenseur

			$liste_def_sql = unserialize( LISTE_DEF_SQL );
			$liste_def = unserialize( LISTE_DEF );

			for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {
				// Defense
				if( $liste_defenseur[$i][11] == -1 ) {
					if( $liste_defenseur[$i][10] > 0 ) {

						$sql = "
		UPDATE matgraph_users
		SET " . $liste_def_sql[$liste_defenseur[$i][12]] . " = " . ($liste_defenseur[$i][8] - (floor(($liste_defenseur[$i][10])/2))) . "
		WHERE id = " . $defenseur . "
		LIMIT 1";

					$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

					}
					global ${$liste_def[$i]."_FER"}, ${$liste_def[$i]."_OR"},${$liste_def[$i]."_CRYSTAL"};
					$fer_ruines += ${$liste_def[$i]."_FER"} * $liste_defenseur[$i][10];
					$or_ruines += ${$liste_def[$i]."_OR"} * $liste_defenseur[$i][10];
					$ada_ruines += ${$liste_def[$i]."_CRYSTAL"} * $liste_defenseur[$i][10];
					
				} else { // Vaisseau

					if( $liste_defenseur[$i][10] > 0 ) {
						$sql = "
		UPDATE matgraph_nbrevaisseaux
		SET nbre = nbre - " . $liste_defenseur[$i][10] . "
		WHERE planete = " . $defenseur . "
		AND vaisseau = " . $liste_defenseur[$i][12] . "
		LIMIT 1";

					$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

					}

			$sql_ruines_def = "SELECT fer, orr, ada FROM matgraph_vaisseaux WHERE id = ".$liste_defenseur[$i][12];
			$res_ruines_def = db_mysql_Query($sql_ruines_def)or die('erreur sql<br>'.$sql_ruines_def.'<br>'.mysql_error());
			$row_ruines_def = mysql_fetch_array($res_ruines_def);
			
			$fer_ruines += $row_ruines_def[fer]*$liste_defenseur[$i][10];
			$or_ruines += $row_ruines_def[orr]*$liste_defenseur[$i][10];
			$ada_ruines += $row_ruines_def[ada]*$liste_defenseur[$i][10];
				}
			}

		}

	} else { // Defenseur win


	// Attaquant

		for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {


			$sql = "
	DELETE FROM matgraph_mobil WHERE iddepart = $attaquant AND iddestination = $defenseur AND date = '$date' AND mission = 'aller'";

		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
		
		$sql_ruines_att = "SELECT fer, orr, ada FROM matgraph_vaisseaux WHERE id = ".$liste_attaquant[$i][12];
		$res_ruines_att = db_mysql_Query($sql_ruines_att)or die('erreur sql<br>'.$sql_ruines_att.'<br>'.mysql_error());
		$row_ruines_att = mysql_fetch_array($res_ruines_att);
		
		$fer_ruines += $row_ruines_att[fer]*$liste_attaquant[$i][10];
		$or_ruines += $row_ruines_att[orr]*$liste_attaquant[$i][10];
		$ada_ruines += $row_ruines_att[ada]*$liste_attaquant[$i][10];

		}


		// Defenseur

		$liste_def_sql = unserialize( LISTE_DEF_SQL );

		for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {

			// Defense
			if( $liste_defenseur[$i][11] == -1 ) {
				
				if( $liste_defenseur[$i][10] > 0 ) {

					$sql = "
	UPDATE matgraph_users
	SET " . $liste_def_sql[$liste_defenseur[$i][12]] . " = " . ($liste_defenseur[$i][8] - $liste_defenseur[$i][10]) . "
	WHERE id = " . $defenseur . "
	LIMIT 1";

				$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

				}
				global ${$liste_def[$i]."_FER"}, ${$liste_def[$i]."_OR"},${$liste_def[$i]."_CRYSTAL"};
					
					$fer_ruines += ${$liste_def[$i]."_FER"} * $liste_defenseur[$i][10];
					$or_ruines += ${$liste_def[$i]."_OR"} * $liste_defenseur[$i][10];
					$ada_ruines += ${$liste_def[$i]."_CRYSTAL"} * $liste_defenseur[$i][10];

			} else { // Vaisseau

				if( $liste_defenseur[$i][10] > 0 ) {
					$sql = "
	UPDATE matgraph_nbrevaisseaux
	SET nbre = nbre - " . $liste_defenseur[$i][10] . "
	WHERE planete = " . $defenseur . "
	AND vaisseau = " . $liste_defenseur[$i][12] . "
	LIMIT 1";

				$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

				}
				$sql_ruines_def = "SELECT fer, orr, ada FROM matgraph_vaisseaux WHERE id = ".$liste_defenseur[$i][12];
				$res_ruines_def = db_mysql_Query($sql_ruines_def)or die('erreur sql<br>'.$sql_ruines_def.'<br>'.mysql_error());
				$row_ruines_def = mysql_fetch_array($res_ruines_def);
				
				$fer_ruines += $row_ruines_def[fer]*$liste_defenseur[$i][10];
				$or_ruines += $row_ruines_def[orr]*$liste_defenseur[$i][10];
				$ada_ruines += $row_ruines_def[ada]*$liste_defenseur[$i][10];
			}
		}



	}

	$fer_ruines *= 0.75;
	$or_ruines *= 0.75;
	$ada_ruines *= 0.75;
	
	$sql_ruines_def = "SELECT galaxi,system,position FROM matgraph_users WHERE id = ".$defenseur;
	$res_ruines_def = db_mysql_Query($sql_ruines_def)or die('erreur sql<br>'.$sql_ruines_def.'<br>'.mysql_error());
	$row_ruines_def = mysql_fetch_array($res_ruines_def);
	
	$sql2 = "SELECT * FROM matgraph_ruines WHERE galaxi='$row_ruines_def[galaxi]' AND system='$row_ruines_def[system]' AND position='$row_ruines_def[position]' ORDER BY ID ASC limit 1";
	$res2 = db_mysql_Query($sql2)or die('erreur sql<br>'.$sql2.'<br>'.mysql_error());
	$num2 = mysql_num_rows($res2);
	
	if($num2 > 0){
		
		$sql_ruines = "UPDATE matgraph_ruines SET fer = fer + '".floor($fer_ruines)."', orr = orr + '".floor($or_ruines)."', ada = ada + '".floor($ada_ruines)."' WHERE galaxi='$row_ruines_def[galaxi]' AND system='$row_ruines_def[system]' AND position='$row_ruines_def[position]' ORDER BY ID ASC limit 1";
		$res_ruines = db_mysql_Query($sql_ruines)or die('erreur sql<br>'.$sql_ruines.'<br>'.mysql_error());
		
	} else {
	
	$sql_ruines = "INSERT INTO `matgraph_ruines` ( `id` , `galaxi` , `system` , `position` , `fer` , `orr` , `ada` )
	VALUES (
	'', '".$row_ruines_def[galaxi]."', '".$row_ruines_def[system]."', '".$row_ruines_def[position]."', '".floor($fer_ruines)."', '".floor($or_ruines)."', '".floor($ada_ruines)."'
	)";
	$res_ruines = db_mysql_Query($sql_ruines)or die('erreur sql<br>'.$sql_ruines.'<br>'.mysql_error());

	}
	
	Generer_rapport_aller($attaquant, $defenseur, $date, $liste_attaquant, $liste_defenseur, $passe, $win_att, $fer_a_voler, $or_a_voler, $ada_a_voler, $ura_a_voler, $fer_ruines , $or_ruines, $ada_ruines);


}

function Generer_rapport_aller($attaquant, $defenseur, $date, &$liste_attaquant, &$liste_defenseur, &$passe, $win_att, $fer, $ore, $ada, $ura, $fer_ruines , $or_ruines, $ada_ruines) {


	$sql = "
	SELECT a.galaxi AS galaxie_1, a.system AS systeme_1, a.position AS position_1,
	b.galaxi AS galaxie_2, b.system AS systeme_2, b.position AS position_2
	FROM matgraph_users AS a, matgraph_users AS b
	WHERE a.id = ".$attaquant." AND b.id = ".$defenseur;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$row = mysql_fetch_array($res);

	$coord_att = "[".$row[galaxie_2].":".$row[systeme_2].":".$row[position_2]."]";
	$coord_def = "[".$row[galaxie_1].":".$row[systeme_1].":".$row[position_1]."]";

//$coord_att=$coord_def="";

	$title_att = (!$win_att) ? ("<FONT COLOR=#FF0000>Rapport de bataille ".$coord_att."</FONT>") : ("<FONT COLOR=#00FF00>Rapport de bataille ".$coord_att."</FONT>");
	$title_def = ($win_att) ? ("<FONT COLOR=#FF0000>Rapport de bataille ".$coord_def."</FONT>") : ("<FONT COLOR=#00FF00>Rapport de bataille ".$coord_def."</FONT>");
	$msg = "";

	$msg_att = ($win_att) ? "<br><b>La bataille a été gagné</b><br>" : "<br><b>La bataille a été perdu</b><br>";
	$msg_def = (!$win_att) ? "<br><b>La bataille a été gagné</b><br>" : "<br><b>La bataille a été perdu</b><br>";



	$msg .= "<br><br>Sur la planete ".$coord_att
	."combattaient les forces suivantes : ";

	$msg .= '<br>';

	$msg .= '<br><b>Attaquant<b><br>';
	$msg .= '<table>';

	$msg .= '<tr><td align="center">Nom</td><td align ="center">Attaque</td>'
	.'<td align ="center">Bouclier</td><td align ="center">Coque</td>'
	.'<td>&nbsp;</td><td align ="center">Nombre</td><br>';

	$att_tot = 0;
	$bou_tot = 0;
	$coq_tot = 0;
	$nb_tot = 0;

	for( $i = 0 ; $i < count($liste_attaquant) ; ++$i ) {

		$msg .= '<tr><td>'.$liste_attaquant[$i][0]
		."</td><td>".$liste_attaquant[$i][3]
		."</td><td>".$liste_attaquant[$i][4]
		."</td><td>".$liste_attaquant[$i][5]
		."</td><td>&nbsp;"
		."</td><td>".$liste_attaquant[$i][8]
		."</td>"
		."</tr>"
		;

		$att_tot += $liste_attaquant[$i][3]*$liste_attaquant[$i][8];
		$bou_tot += $liste_attaquant[$i][4]*$liste_attaquant[$i][8];
		$coq_tot += $liste_attaquant[$i][5]*$liste_attaquant[$i][8];

		$nb_tot += $liste_attaquant[$i][8];

	}

	$msg .= '<tr><td><b>Total</b>'
	."</td><td>".number_format($att_tot, 0, ',', ' ')
	."</td><td>".number_format($bou_tot, 0, ',', ' ')
	."</td><td>".number_format($coq_tot, 0, ',', ' ')
	."</td><td>&nbsp;"
	."</td><td>".number_format($nb_tot, 0, ',', ' ')
	."</td>"
	."</tr></table>"
	;


	$msg .= '<br><br><b>Defenseur<b><br>';
	$msg .= '<table>';

	$msg .= '<tr><td align="center">Nom</td><td align ="center">Attaque</td>'
	.'<td align ="center">Bouclier</td><td align ="center">Coque</td>'
	.'<td>&nbsp;</td><td align ="center">Nombre</td><br>';

	$att_tot = 0;
	$bou_tot = 0;
	$coq_tot = 0;
	$nb_tot = 0;

	for( $i = 0 ; $i < count($liste_defenseur) ; ++$i ) {

		$msg .= '<tr><td>'.$liste_defenseur[$i][0]
		."</td><td>".$liste_defenseur[$i][3]
		."</td><td>".$liste_defenseur[$i][4]
		."</td><td>".$liste_defenseur[$i][5]
		."</td><td>&nbsp;"
		."</td><td>".$liste_defenseur[$i][8]
		."</td>"
		."</tr>"
		;

		$att_tot += $liste_defenseur[$i][3]*$liste_defenseur[$i][8];
		$bou_tot += $liste_defenseur[$i][4]*$liste_defenseur[$i][8];
		$coq_tot += $liste_defenseur[$i][5]*$liste_defenseur[$i][8];

		$nb_tot += $liste_defenseur[$i][8];

	}

	$msg .= '<tr><td><b>Total</b>'
	."</td><td>".number_format($att_tot, 0, ',', ' ')
	."</td><td>".number_format($bou_tot, 0, ',', ' ')
	."</td><td>".number_format($coq_tot, 0, ',', ' ')
	."</td><td>&nbsp;"
	."</td><td>".number_format($nb_tot, 0, ',', ' ')
	."</td>"
	."</tr></table>"
	;




	$msg .= "<br><br><br>Nombre de passes : " . count($passe);

	for( $i = 0 ; $i < count($passe) ; ++$i ) {
		$msg .= "<br><b>Passe n°" . ($i+1) . "</b>";
		$msg .= "<br>L'attaquant fait un total de " . ($passe[$i][0] + $passe[$i][1]) . " points de dégats(".max($passe[$i][13],0)." points absorbés)";
		$msg .= "<br>Le defenseur fait un total de " . ($passe[$i][4] + $passe[$i][5]) . " points de dégats(".max($passe[$i][14],0)." points absorbés)";
		$msg .= "<br>";
		$msg .= "<br><b>Passe Attaquant</b>";
		$msg2="";
		for( $j = 0 ; $j < count($passe[$i][2]) ; ++$j ) {
			if ($passe[$i][2][$j]>0)
				$msg2 .= "<br>" . $passe[$i][2][$j] . " " . $liste_defenseur[$j][0] . " ont été détruit (fort)";
		}
		for( $j = 0 ; $j < count($passe[$i][3]) ; ++$j ) {
			if ($passe[$i][3][$j]>0)
	    		$msg2 .= "<br>" . $passe[$i][3][$j] . " " . $liste_defenseur[$j][0] . " ont été détruit (faible)";
	    }
	    if ($msg2=="")
	      	$msg2 = "<br>Aucune destruction";
	     	$msg.=$msg2;
		$msg .= "<br><b>Passe Defenseur</b>";
		$msg2="";
		for( $j = 0 ; $j < count($passe[$i][6]) ; ++$j ) {
			if ($passe[$i][6][$j]>0)
	    		$msg2 .= "<br>" . $passe[$i][6][$j] . " " . $liste_attaquant[$j][0] . " ont été détruit (fort)";
		}
		for( $j = 0 ; $j < count($passe[$i][7]) ; ++$j ) {
			if ($passe[$i][7][$j]>0)
				$msg2 .= "<br>" . $passe[$i][7][$j] . " " . $liste_attaquant[$j][0] . " ont été détruit (faible)";
	 	}
	    if ($msg2==""){
	      $msg2 = "<br>Aucune destruction";
	      $msg.=$msg2;
		 }
	}
		
	if( $win_att ) {
		$msg .= "<br>Vol de :<br>";
		$msg .= "<br>Fer : " . number_format($fer, 0, ',', ' ');
		$msg .= "<br>Or : " . number_format($ore, 0, ',', ' ');
		$msg .= "<br>Cristal : " . number_format($ada, 0, ',', ' ');
		$msg .= "<br>Naquadah : " . number_format($ura, 0, ',', ' ');
	}
	
	$msg .= "<br><br><br>En orbite se trouve : ";
	$msg .= number_format($fer_ruines, 0, ',', ' ')." de Fer,";
	$msg .= number_format($or_ruines, 0, ',', ' ')." d'Or, et ";
	$msg .= number_format($ada_ruines, 0, ',', ' ')." de Cristal dû au(x) perte(s) des vaisseau(x)";


	$sql = "INSERT INTO  matgraph_bataille VALUES ('',now(), 'non', '$attaquant', '$title_att', '".addslashes($msg_att.$msg)."')";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$sql = "INSERT INTO  matgraph_bataille VALUES ('',now(), 'non', '$defenseur', '$title_def', '".addslashes($msg_def.$msg)."')";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

}


function Calcul_retour($depart, $destination, $date) {


	$sql = "
		SELECT matgraph_mobil.nombre, idvaisseau, fret_fer, fret_or, fret_ada, fret_ura, fret_militaire, chantier_lvl
		FROM matgraph_mobil, matgraph_vaisseaux
		WHERE mission = 'retour'
		AND iddepart = $depart
		AND iddestination = $destination
		AND date = '$date'
		AND matgraph_mobil.idvaisseau = matgraph_vaisseaux.id";

	$fret = array();
	$id_vaisseau = array();
	$nb_vaisseau = array();

	$fret[] = $fret[] = $fret[] = $fret[] = $fret[] = 0;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	global $LISTE_INFRA_LVL;
	$liste_infra_par_lvl = unserialize($LISTE_INFRA_LVL);

	while( $row = mysql_fetch_array($res) ) {

		$id_vaisseau[] = $row['idvaisseau'];
		$nb_vaisseau[] = $row['nombre'];

		$fret[0] += $row['fret_fer'];
		$fret[1] += $row['fret_or'];
		$fret[2] += $row['fret_ada'];
		$fret[3] += $row['fret_ura'];
		$fret[4] += $row['fret_militaire'];



		global ${'INFRA_' . $liste_infra_par_lvl[$row['chantier_lvl']] . '_EQUIPAGE'};
		$besoin = ${'INFRA_' . $liste_infra_par_lvl[$row['chantier_lvl']] . '_EQUIPAGE'};


		$fret[4] += $besoin*$row['nombre'];

	}
	$sql = "DELETE FROM matgraph_mobil WHERE iddepart = $depart AND iddestination = $destination AND date = '$date' AND mission = 'retour'";

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	$sql = "
		UPDATE matgraph_users
		SET fer_ressource = fer_ressource + " . $fret[0] . ",
		or_ressource = or_ressource + " . $fret[1] . ",
		ada_ressource = ada_ressource + " . $fret[2] . ",
		ura_ressource = ura_ressource + " . $fret[3] . ",
		mili_nbre = mili_nbre + " . $fret[4] . "
		WHERE id = " . $depart;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	for( $i = 0 ; $i < count($id_vaisseau) ; ++$i ) {

		$sql = "
		SELECT Count(*) AS tot
		FROM matgraph_nbrevaisseaux
		WHERE vaisseau = " . $id_vaisseau[$i] . "
		AND planete = " . $depart;

		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		$row = mysql_fetch_array($res);

		if( $row['tot'] > 0 ) {

			$sql = "
			UPDATE matgraph_nbrevaisseaux
			SET nbre = nbre + " ;
			if($nb_vaisseau[$i] < 0){
				$sql.= "0";
			}else{
				$sql.=$nb_vaisseau[$i];
			}
			$sql.= "
			WHERE vaisseau = " . $id_vaisseau[$i] . "
			AND planete = " . $depart;

			$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		} else {

			$sql = "
			INSERT INTO matgraph_nbrevaisseaux
			VALUES('', (SELECT idjoueur FROM matgraph_users WHERE id = " . $depart .
			"), " . $depart . ", " . $id_vaisseau[$i] . ", " . $nb_vaisseau[$i] . ")";

			$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		}

	}

	Generer_rapport_retour($depart, $destination, $date, $fret);


}


function Generer_rapport_retour($depart, $destination, $date, $fret) {

	$title = "<FONT COLOR=#00FF00>Retour de flottes</FONT>";
	$msg = "";

	$msg .= "<br><b>Retour de flottes</b>";


	$sql = "
	SELECT a.galaxi AS galaxie_1, a.system AS systeme_1, a.position AS position_1, a.planete AS plan_1,
	b.galaxi AS galaxie_2, b.system AS systeme_2, b.position AS position_2, b.planete AS plan_2
	FROM matgraph_users AS a, matgraph_users AS b
	WHERE b.id = ".$depart." AND a.id = ".$destination;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$row = mysql_fetch_array($res);

	$msg .= "<br>Des vaisseaux partis sur ".$row[plan_1]." [".$row[galaxie_1].":".$row[systeme_1].":"
	.$row[position_1]."] sont revenus sur ".$row[plan_2]." [".$row[galaxie_2].":".$row[systeme_2].":"
	.$row[position_2]."]";


	$msg .= "<br>Ils transportaient ";
	$msg .= "<br>Fret :<br>Fer : " . $fret[0] .
	"<br>Or : " . $fret[1] .
	"<br>Cristal : " . $fret[2] .
	"<br>Naquadah : " . $fret[3] .
	"<br>Militaires : " . $fret[4];


	$sql = "INSERT INTO  matgraph_msg VALUES ('',now(), 'non', '$depart', '$title', '".addslashes($msg)."')";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

}



function Calcul_transport($depart, $destination, $date) {


	$sql = "
		SELECT fret_fer, fret_or, fret_ada, fret_ura, fret_militaire
		FROM matgraph_mobil
		WHERE mission = 'transport'
		AND iddepart = $depart
		AND iddestination = $destination
		AND date = '$date'";

	$fret = array();

	$fret[] = $fret[] = $fret[] = $fret[] = $fret[] = 0;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());



	$liste_infra_par_lvl = unserialize($LISTE_INFRA_LVL);

	while( $row = mysql_fetch_array($res) ) {

		$fret[0] += $row['fret_fer'];
		$fret[1] += $row['fret_or'];
		$fret[2] += $row['fret_ada'];
		$fret[3] += $row['fret_ura'];
		$fret[4] += $row['fret_militaire'];

	}

	$sql = "UPDATE matgraph_mobil SET mission = 'retour', fret_fer = 0, fret_or = 0, fret_ada = 0, fret_ura = 0, fret_militaire = 0, date = FROM_UNIXTIME(UNIX_TIMESTAMP(date)+voyage) WHERE iddepart = ".$depart." AND iddestination = ".$destination." AND date = '".$date."' AND mission = 'transport'";

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());


	$sql = "
		UPDATE matgraph_users
		SET fer_ressource = fer_ressource + " . $fret[0] . ",
		or_ressource = or_ressource + " . $fret[1] . ",
		ada_ressource = ada_ressource + " . $fret[2] . ",
		ura_ressource = ura_ressource + " . $fret[3] . ",
		mili_nbre = mili_nbre + " . $fret[4] . "
		WHERE id = " . $destination;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	Generer_rapport_transport($depart, $destination, $date, $fret);


}


function Generer_rapport_transport($depart, $destination, $date, $fret) {

	$title = "<FONT COLOR=#00FF00>Transport</FONT>";
	$msg = "";

	$msg .= "<br><b>Transport</b>";


	$sql = "
	SELECT a.galaxi AS galaxie_1, a.system AS systeme_1, a.position AS position_1, a.planete AS plan_1,
	b.galaxi AS galaxie_2, b.system AS systeme_2, b.position AS position_2, b.planete AS plan_2
	FROM matgraph_users AS a, matgraph_users AS b
	WHERE a.id = ".$depart." AND b.id = ".$destination;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$row = mysql_fetch_array($res);

	$msg .= "<br>Des vaisseaux en provenance de ".$row[plan_1]." [".$row[galaxie_1].":".$row[systeme_1].":"
	.$row[position_1]."] sont arrivés sur ".$row[plan_2]." [".$row[galaxie_2].":".$row[systeme_2].":"
	.$row[position_2]."]";


	$msg .= "<br>Ils transportaient ";
	$msg .= "<br>Fret :<br>Fer : " . $fret[0] .
	"<br>Or : " . $fret[1] .
	"<br>Cristal : " . $fret[2] .
	"<br>Naquadah : " . $fret[3] .
	"<br>Militaires : " . $fret[4];


	$sql = "INSERT INTO  matgraph_msg VALUES ('',now(), 'non', '$destination', '$title', '".addslashes($msg)."')";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

}



function Calcul_baser($depart, $destination, $date) {


	$sql = "
		SELECT matgraph_mobil.nombre, idvaisseau, fret_fer, fret_or, fret_ada, fret_ura, fret_militaire, chantier_lvl
		FROM matgraph_mobil, matgraph_vaisseaux
		WHERE mission = 'baser'
		AND iddepart = $depart
		AND iddestination = $destination
		AND date = '$date'
		AND matgraph_mobil.idvaisseau = matgraph_vaisseaux.id";

	$fret = array();
	$id_vaisseau = array();
	$nb_vaisseau = array();

	$fret[] = $fret[] = $fret[] = $fret[] = $fret[] = 0;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	$equipage_total = 0;

	$liste_infra_par_lvl = unserialize($LISTE_INFRA_LVL);

	while( $row = mysql_fetch_array($res) ) {

		$id_vaisseau[] = $row['idvaisseau'];
		$nb_vaisseau[] = $row['nombre'];

		$fret[0] += $row['fret_fer'];
		$fret[1] += $row['fret_or'];
		$fret[2] += $row['fret_ada'];
		$fret[3] += $row['fret_ura'];
		$fret[4] += $row['fret_militaire'];



		global ${'INFRA_' . $liste_infra_par_lvl[$row['chantier_lvl']] . '_EQUIPAGE'};
		$besoin = ${'INFRA_' . $liste_infra_par_lvl[$row['chantier_lvl']] . '_EQUIPAGE'};


		$fret[4] += $besoin*$row['nombre'];

	}

	$sql = "DELETE FROM matgraph_mobil WHERE iddepart = $depart AND iddestination = $destination AND date = '$date' AND mission = 'baser'";

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());


	$sql = "
		UPDATE matgraph_users
		SET fer_ressource = fer_ressource + " . $fret[0] . ",
		or_ressource = or_ressource + " . $fret[1] . ",
		ada_ressource = ada_ressource + " . $fret[2] . ",
		ura_ressource = ura_ressource + " . $fret[3] . ",
		mili_nbre = mili_nbre + " . $fret[4] . "
		WHERE id = " . $destination;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

	for( $i = 0 ; $i < count($id_vaisseau) ; ++$i ) {

		$sql = "
		SELECT Count(*) AS tot
		FROM matgraph_nbrevaisseaux
		WHERE vaisseau = " . $id_vaisseau[$i] . "
		AND planete = " . $destination;

		$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		$row = mysql_fetch_array($res);

		if( $row['tot'] > 0 ) {

			$sql = "
			UPDATE matgraph_nbrevaisseaux
			SET nbre = nbre + " . $nb_vaisseau[$i] . "
			WHERE vaisseau = " . $id_vaisseau[$i] . "
			AND planete = " . $destination;

			$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		} else {

			$sql = "
			INSERT INTO matgraph_nbrevaisseaux
			VALUES('', (SELECT idjoueur FROM matgraph_users WHERE id = " . $destination .
			"), " . $destination . ", " . $id_vaisseau[$i] . ", " . $nb_vaisseau[$i] . ")";

			$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

		}

	}

	Generer_rapport_baser($depart, $destination, $date, $fret);


}


function Generer_rapport_baser($depart, $destination, $date, $fret) {

	$title = "<FONT COLOR=#00FF00>Basement de flottes</FONT>";
	$msg = "";

	$msg .= "<br><b>Basement de flottes</b>";


	$sql = "
	SELECT a.galaxi AS galaxie_1, a.system AS systeme_1, a.position AS position_1, a.planete AS plan_1,
	b.galaxi AS galaxie_2, b.system AS systeme_2, b.position AS position_2, b.planete AS plan_2
	FROM matgraph_users AS a, matgraph_users AS b
	WHERE a.id = ".$depart." AND b.id = ".$destination;

	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
	$row = mysql_fetch_array($res);

	$msg .= "<br>Des vaisseaux en provenance de ".$row[plan_1]." [".$row[galaxie_1].":".$row[systeme_1].":"
	.$row[position_1]."] sont arrivés sur ".$row[plan_2]." [".$row[galaxie_2].":".$row[systeme_2].":"
	.$row[position_2]."]";


	$msg .= "<br>Ils transportaient ";
	$msg .= "<br>Fret :<br>Fer : " . $fret[0] .
	"<br>Or : " . $fret[1] .
	"<br>Cristal : " . $fret[2] .
	"<br>Naquadah : " . $fret[3] .
	"<br>Militaires : " . $fret[4];


	$sql = "INSERT INTO  matgraph_msg VALUES ('',now(), 'non', '$destination', '$title', '".addslashes($msg)."')";
	$res = db_mysql_Query($sql)or die('erreur sql<br>'.$sql.'<br>'.mysql_error());

}



?>