<?
include ('logue.php') ;

include ('config.php') ;

// A FAIRE
// préciser les SELECT ...
// unset() les variables $_SESSION ...
// tableau que mobil, Le champ "mission" sera rempli différemment suivant la direction : = aller, =attente (pour les attaques multiples), =accompli, =retour.
// (40 + (2*robo_lvl))

// ------------------------- AFFICHAGE PAGE -------------------------

include ('entete2.php') ;

include ('entete.php') ;

include ('ressource.php') ;

$sql2 = "SELECT 
galaxi,system,position,robo_lvl,chantier_lvl,hangarfer_lvl,hangarfer_evolution,hangaror_lvl,hangaror_evolution,hangarada_lvl,hangarada_evolution,hangaror_lvl,hangarura_lvl,hangarura_evolution,labo_lvl,labo_evolution,fer_energie,or_energie,ada_energie,ura_energie,exfer_energie,exor_energie,central_energie FROM matgraph_users WHERE id='$planete' ";
$res2 = db_mysql_Query($sql2) or die('erreur sql<br>'.$sql2.'<br>'.mysql_error()) ;
$row2 = mysql_fetch_array($res2) ; 

$Total_energie_consom = $row[fer_energie] + $row[or_energie] + $row[exfer_energie] + $row[exor_energie] + $row[ada_energie] + $row[ura_energie] ;
$Total_energie_reste =  round(($New_central_energie + $New_fission_energie + $Total_energie_consom),0) ;
$Total_energie_prod = round(($New_central_energie + $New_fission_energie),0) ;
$Total_energie_reste2 =  number_format(round(($New_central_energie + $New_fission_energie + $Total_energie_consom),0), 0, ',', ' ') ;
$Total_energie_prod2 = number_format(round(($New_central_energie + $New_fission_energie),0), 0, ',', ' ') ;

echo"<style>
input, textarea {
border:1px solid #7E7E7E;
background-color:#000000;
font-family:'trebuchet ms',sans-serif;
color:white;
}
select, option {
background-color:#000000;
color:white;
}
.button {
border-left:1px solid #EEEEEE; border-right:1px solid #666666; border-top:1px solid #EEEEEE; border-bottom:1px solid #666666; background-color:#111111;text-decoration: none;text-align: center;padding: 3 px;
}
</style>

<STYLE TYPE=text/css>
.Style1 {color: #0000FF}
.Style2 {color: #FF0000}
</STYLE>" ;

echo'<div align="center"><form name="colo" method="post" action="colonies.php" target="_parent">
<table align="center" border="0" cellspacing="0" cellpadding="0"  style="font-family:trebuchet ms,sans-serif; font-size: 9pt ;">
   <tr>
     <td width="100" rowspan="2" valign="middle">
       <div align="center">
         <input name="page" value="flotte" type="hidden" id="page">
         <select name="idcolo" onchange=submit()>';

include ('colo2.php') ; 

if ($row2[chantier_lvl] == 0) 
{
	$chantier_lvl = 0 ;
}
else
{
	$chantier_lvl = $row2[chantier_lvl] ;
}

// ------------------------- DETECTION DES COMBATS -------------------------

// réinitialisation des variables
unset($date_combat) ;

$sql_A = "SELECT planete, id, login, idjoueur FROM matgraph_users WHERE login = '$login'" ; $res_A = db_mysql_Query($sql_A) or die('Erreur SQL! <br>' . $sql_A . '<br>'.mysql_error()) ;
$num_A = mysql_num_rows($res_A) ;

// echo '
// <tr>
//	<td><br>Vaisseau (rappel) :<br>
//		/A. ( Armement du vaisseau * niv. de techno. arme )<br>
//		/B. ( Bouclier du vaisseau * niv. de techno. bouclier )<br>
//		/C. ( Coque du vaisseau * niv. de techno. coque )
//	</td>
// </tr>' ;

$row_A = mysql_fetch_array($res_A) ;
$nom_planete = $row_A[planete] ;
if($row_A[idjoueur] == $planete)
{
	$sql = "SELECT * FROM matgraph_mobil WHERE (iddepart = '$row_A[id]' OR iddestination = '$row_A[id]') AND mission = 'aller' ORDER BY date" ;
	include ('config.php') ;
	$res = db_mysql_Query($sql) ;
	mysql_close() ;
	$num = mysql_num_rows($res) ;
	$num_assaut = 0 ;
	if ( $num > 0 )
	{
		while ( $row = mysql_fetch_array($res) ) // rassemble les vaisseaux en flotte
		{
			if ( $row[date] != $date_combat[count($date_combat)-1] )
			{
				$date_combat[] = $row[date] ;
				ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $row[date], $thetime) ; 				$time = mktime($thetime[4],$thetime[5],$thetime[6],$thetime[2],$thetime[3],$thetime[1]) ; 				$diftemps = time() - $time ;
				if ($diftemps >= 0)
				{ 
					$Combat = true ;
					$maintenant = "Actuellement, " ;
				}
				else
				{
					$Combat = false ;				
					$maintenant = "Dans env. " ;
					$emintechlaser = ( -$diftemps ) / 60 ;
					if ( floor($emintechlaser) != $emintechlaser ) $esectechlaser = floor( ($emintechlaser - floor( $emintechlaser )) * 60) ;
					if ( $emintechlaser > 60 )
					{
						$ehourtechlaser = floor( $emintechlaser / 60 ) ;
						$emintechlaser = $emintechlaser - ( 60 * $ehourtechlaser ) ;

						if ( $ehourtechlaser > 24 )
						{
							$edaytechlaser = floor( $ehourtechlaser / 24) ;
							$ehourtechlaser = $ehourtechlaser - ( 24 * $edaytechlaser ) ;
						}
					}	
					$etimetechlaser = "" ;
					if (!empty($edaytechlaser) ) $etimetechlaser.="$edaytechlaser j " ;
					if (!empty($ehourtechlaser) ) $etimetechlaser.="$ehourtechlaser h " ;
					if ($emintechlaser != 0) $etimetechlaser.= floor($emintechlaser)." mn " ;
					if (!empty($esectechlaser) ) $etimetechlaser.="$esectechlaser s" ;
					$maintenant .= $etimetechlaser . ', ' ;
				}
				if ($row[iddepart] == $row_A[id])
				{ 
					$sql_B = "SELECT id, planete, login FROM matgraph_users WHERE id = '$row[iddestination]'" ; 					include ('config.php') ;						
					$res_B = db_mysql_Query($sql_B) or die('Erreur SQL! <br>' . $sql_B . '<br>'.mysql_error()) ;
					mysql_close() ;
					$row_B = mysql_fetch_array($res_B) ;
			//		echo '
			//		<tr>
			//			<td align="left" style="font-size:12pt;"><hr align="left">' . ++$num_assaut . '. (' . $row[date] . ')<br>' . $maintenant . '"<FONT style="color:#999999;"> ' . $row_A[planete] . ' </FONT>"<FONT style="color:yellow;"> > </FONT>" ' . $row_B[planete] . ' " ( ' . $row_B[login] . ' ).</td>
			//		</tr>' ;
					$sujet = 'La planète ' . $row_B[planete] . ' est attaquée par la planète ' . $row_A[planete] . ' ( ' . $row_A[login] . ' )'  ;
					$Attaquant = $row_A[id] ;
					$Defenseur = $row_B[id] ;
					$idjoueur_att = $row_A[idjoueur] ;
					$idjoueur_def = $row_B[idjoueur] ;
					$Att_nom = $row_A[planete] ;
					$Def_nom = $row_B[planete] ;
				}
				elseif ($row[iddestination] == $row_A[id])
				{
					$sql_B = "SELECT id, planete, login FROM matgraph_users WHERE id = '$row[iddepart]'" ;
					include ('config.php') ;					$res_B = db_mysql_Query($sql_B) or die('Erreur SQL! <br>' . $sql_B . '<br>'.mysql_error()) ;
					mysql_close() ;
					$row_B = mysql_fetch_array($res_B) ;
			//		echo '
			//		<tr>
			//			<td align="left" style="font-size:12pt;"><hr align="left">' . ++$num_assaut . '. (' . $row[date] . ')<br>' . $maintenant . '"<FONT style="color:#999999;"> ' . $row_A[planete] . ' </FONT>"<FONT style="color:red;"> < </FONT>" ' . $row_B[planete] . ' " ( ' . $row_B[login] . ' ).</td>
			//		</tr>' ;
					$sujet = 'La planète ' . $row_A[planete] . ' est attaquée par la planète ' . $row_B[planete] . ' ( ' . $row_B[login] . ' )'  ;
					$Attaquant = $row_B[id] ;
					$Defenseur = $row_A[id] ;
					$idjoueur_att = $row_B[idjoueur] ;
					$idjoueur_def = $row_A[idjoueur] ;
					$Att_nom = $row_B[planete] ;
					$Def_nom = $row_A[planete] ;
				}
				if ($Combat)
				{
					Combat_Force($Attaquant, $Defenseur, $Att_nom, $Def_nom, $row[date], $sujet, $idjoueur_def, $idjoueur_att) ;
				}
			}
		}
	}
}

// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°   FONCTIONS   °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
function Combat_Force($Attaquant, $Defenseur, $Att_nom, $Def_nom, $Date_resolution, $sujet, $idjoueur_def, $idjoueur_att)
{
	unset( $_SESSION['Rapport'] ) ;
	unset( $_SESSION['Detail'] ) ;


	// réinitialisation des variables Attaquant
	unset($_SESSION['Att_flotte']) ;
	$Attaquant_Tir = 0 ;
	$Attaquant_Bouclier = 0 ;
	$Attaquant_Coque = 0 ;

	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><br><B>Attaquant ( ' . $Att_nom . ' )</B></FONT><br>' ;

	$sql3 = "SELECT * FROM matgraph_users WHERE id = '$Attaquant' LIMIT 1" ;
	include ('config.php') ;
	$res3 = db_mysql_Query($sql3) ;
	mysql_close() ;
	$row3 = mysql_fetch_array($res3) ;
	$val_techArmement_lvl = $row3[techArmement_lvl] ;
	$val_techBouclier_lvl = $row3[techBouclier_lvl] ;
	$val_techcoque_lvl = $row3[techcoque_lvl] ;

	// pré-tri de  matgraph_mobil par le lvl d'infrastructure (ds matgraph_vaisseaux), le plus fort en premier
	$sql_tri = "SELECT * FROM matgraph_vaisseaux WHERE iduser = '$Attaquant' ORDER BY arme DESC, bouclier DESC, coque DESC" ;
	include ('config.php') ;
	$res_tri = db_mysql_Query($sql_tri) ;
	mysql_close() ;
	while ( $row_tri = mysql_fetch_array($res_tri) )
	{
		$sql_C = "SELECT * FROM matgraph_mobil WHERE iddepart = '$Attaquant' AND iddestination = '$Defenseur' AND date = '$Date_resolution' AND idvaisseau = '$row_tri[id]'" ;
		include ('config.php') ;
		$res_C = db_mysql_Query($sql_C) ;
		mysql_close() ;
		while ( $row_C = mysql_fetch_array($res_C) )
		{
			$val_A = $row_tri[arme] * $val_techArmement_lvl ;
			$val_B = $row_tri[bouclier] * $val_techBouclier_lvl ;
			$val_C = $row_tri[coque] * $val_techcoque_lvl ;

			$Attaquant_Tir += $val_A * $row_C[nombre] ;
			$Attaquant_Bouclier += $val_B * $row_C[nombre] ;
			$Attaquant_Coque += $val_C * $row_C[nombre] ;

			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $row_tri[nom] . ' (' . $row_C[nombre] . 
			') /A. ' . $val_A . 
			' /B. ' . $val_B . 
			' /C. ' . $val_C .
			'<br>' ;
	
			// Crée un tableau pour la flotte avec une ligne par vaisseau 		
			for ($i = 0 ; $i < $row_C[nombre] ; ++$i) 
			{
				$_SESSION['Att_flotte'][] = array('arme' => $val_A, 'bouclier' => $val_B, 'coque' => $val_C, 'etat' => 'intact', 'nom' => $row_tri[nom], 'priorite' => $row_C[priorite], 'id' => $row_C[idvaisseau], 'fret' => $row_tri[place], 'nbr_total' => $row_C[nombre], 'voyage' => $row_C[voyage]) ;
			}
		}
	}
	
	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B>&nbsp;&nbsp;&nbsp;Puissance totale /A. ' . $Attaquant_Tir . ' /B. ' . $Attaquant_Bouclier . ' /C. ' . $Attaquant_Coque . '</B></FONT><br>' ;

// -------------------------------------- DEFENSEUR --------------------------------------

	// réinitialisation des variables Defenseur
	unset($_SESSION['Def_troupe']) ;
	$Defenseur_Tir = 0 ;
	$Defenseur_Bouclier = 0 ;
	$Defenseur_Coque = 0 ;

	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><br><B>Défenseur ( ' . $Def_nom . ' )</B></FONT><br>' ;

	$sql3 = "SELECT * FROM matgraph_users WHERE id = '$Defenseur' LIMIT 1" ;
	include ('config.php') ;
	$res3 = db_mysql_Query($sql3) ;
	mysql_close() ;
	$row3 = mysql_fetch_array($res3) ;
	$val_techArmement_lvl = $row3[techArmement_lvl] ;
	$val_techBouclier_lvl = $row3[techBouclier_lvl] ;
	$val_techcoque_lvl = $row3[techcoque_lvl] ;
	$militaire_dispo = $row3[mili_nbre] ;
	unset($_SESSION['Total_mili']) ;
	$_SESSION['Total_mili'] = $row3[mili_nbre] ;
	$val_robo_lvl = $row3[robo_lvl] ;

	// pré-tri de matgraph_nbrevaisseaux par le lvl d'infrastructure (ds matgraph_vaisseaux), le plus fort en premier
	
	$sql_try = "SELECT * FROM matgraph_vaisseaux WHERE iduser = '$Defenseur' ORDER BY arme DESC, bouclier DESC, coque DESC" ;
	include ('config.php') ;
	$res_try = db_mysql_Query($sql_try) ;
	mysql_close() ;
	while ( $row_try = mysql_fetch_array($res_try) )
	{
		$sql_C = "SELECT * FROM matgraph_nbrevaisseaux WHERE planete = '$Defenseur' AND vaisseau = '$row_try[id]'" ;
		include ('config.php') ;
		$res_C = db_mysql_Query($sql_C) ;
		mysql_close() ;
		$row_C = mysql_fetch_array($res_C) ;
		if($row_C[nbre] != 0)
		{
			$Militaire_besoin = 0 ;
			switch ($row_try[chantier_lvl])
			{
				case 1 :
				$Equipage = 2 ; break ;
				case 2 :
				$Equipage = 50 ; break ;
				case 4 :
				$Equipage = 100 ; break ;
				case 5 :
				$Equipage = 500 ; break ;
				case 7 :
				$Equipage = 1000 ; break ;
				case 10 :
				$Equipage = 2500 ; break ;
			}
			$Militaire_besoin = ceil($Equipage * 0.75) ;
			$nb_mobilisable = 0 ;
			while ( $nb_mobilisable < $row_C[nbre] )
			{
				if ( ($militaire_dispo - $Militaire_besoin) >= 0 )
				{
					++$nb_mobilisable ;
					$val_A = $row_try[arme] * $val_techArmement_lvl ;
					$val_B = $row_try[bouclier] * $val_techBouclier_lvl ;
					$val_C = $row_try[coque] * $val_techcoque_lvl ;
					$militaire_dispo -= $Militaire_besoin ;
					$Defenseur_Tir += $val_A ;
					$Defenseur_Bouclier += $val_B ;
					$Defenseur_Coque += $val_C ;
				}
				else break ;
			}

			if ( $nb_mobilisable > 0 )
			{
				$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $row_try[nom] . ' (' . $row_C[nbre] . 
				') /A. ' . $val_A . 
				' /B. ' . $val_B . 
				' /C. ' . $val_C .
				' /Equip. ' . $Militaire_besoin . 
				'<br>' ;

				// Crée un tableau pour la flotte avec une ligne par vaisseau 
				for ($i = 1 ; $i <= $nb_mobilisable ; ++$i)
				{
					$_SESSION['Def_troupe'][] = array('categorie' => 'vaisseau', 'arme' => $val_A, 'bouclier' => $val_B, 'coque' => $val_C, 'etat' => 'intact', 'nom' => $row_try[nom], 'priorite' => 'fort', 'id' => $row_try[id], 'Equip' => $Militaire_besoin, 'nbre_total' => $row_C[nbre]) ;
				}
			}
		}
	}	

	if ( ceil($militaire_dispo) == ceil($_SESSION['Total_mili']) ) // pas de flotte disponible
	{
		$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aucun vaisseau disponible<br>' ;
	}

	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B>&nbsp;&nbsp;&nbsp;Puissance totale /A. ' . $Defenseur_Tir . ' /B. ' . $Defenseur_Bouclier . ' /C. ' . $Defenseur_Coque . ' /Equip. dispo. ' . ceil($militaire_dispo) . '</B></FONT><br>' ;
	
// ------------------------------------- DCA -------------------------------------
// donne le nombre de pièces d'artillerie de chaque (puissance / résistance)
	
	unset ($_SESSION['Message']) ;

	$_SESSION['DCA_Tir'] = 0 ;
	$_SESSION['DCA_Coque'] = 0 ;
	$_SESSION['Manque_personnel'] = false ;
	$_SESSION['militaire_dispo'] = ceil($militaire_dispo) ; 
	$_SESSION['techArmement_lvl'] = $val_techArmement_lvl ;
	$_SESSION['techcoque_lvl'] = $val_techcoque_lvl ;

	$_SESSION['Rapport'] .= '<br>' ;

	DCA_resolution ('Tourelle de combat', $row3['defcombat'], 3, 4, 'defcombat') ;
	if (!$Manque_personnel) DCA_resolution ('Tourelle laser simple', $row3['deflasersimple'], 8, 8, 'deflasersimple') ;
	if (!$Manque_personnel) DCA_resolution ('Tourelle laser double', $row3['deflaserdouble'], 15, 10, 'deflaserdouble') ;
	if (!$Manque_personnel) DCA_resolution ('Rayon tracteur', $row3['defelec'], 25, 20, 'defelec') ;
	if (!$Manque_personnel) DCA_resolution ('Mini satellite à ions', $row3['defions'], 35, 30, 'defions') ;
	if (!$Manque_personnel) DCA_resolution ('Tour à plasma', $row3['defplasma'], 60, 45, 'defplasma') ;
	if (!$Manque_personnel) DCA_resolution ('Tourelle de Naquadah', $row3['defnaqua'], 100, 70, 'defnaqua') ;
	if (!$Manque_personnel) DCA_resolution ('Satellite des Anciens', $row3['defanciens'], 200, 200, 'defanciens') ;

	if ( ceil($_SESSION['militaire_dispo']) == ceil($militaire_dispo) ) // pas de DCA disponible
	{
		$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aucun système de défense disponible<br>' ;
		$aucun_DCA = true ;
	}

	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B>&nbsp;&nbsp;&nbsp;Défense spatiale /A. ' . $_SESSION['DCA_Tir'] . ' /C. ' . $_SESSION['DCA_Coque'] . ' /Equip. dispo. ' . ceil($_SESSION['militaire_dispo']) . '</B></FONT><br>' ;

// ------------------------------------- COMBAT (enfin ...) -------------------------------------

	$_SESSION['Att_survivant'] = count($_SESSION['Att_flotte']) ; // nombre de vaisseaux dans la flotte
	$_SESSION['Def_survivant'] = count($_SESSION['Def_troupe']) ; // nombre de vaisseaux dans la flotte

	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>Nombre de combattants avant engagement : Att.' . $_SESSION['Att_survivant'] . ' / Def. ' . $_SESSION['Def_survivant'] . '</B></FONT><br>' ;


	// ------------------------------------- Phase Attaquant / Defenseur -------------------------------------
	$num_passe_armes = 0 ;
	$_SESSION['no_survivant'] = false ;

	while ($_SESSION['Att_survivant'] > 0 AND $_SESSION['Def_survivant'] > 0)
	{
		++$num_passe_armes ;
		$Stock_Att_flotte = $_SESSION['Att_flotte'] ; // copie le tableau Attaque les plus gros en premier
		$Stock_Def_flotte = $_SESSION['Def_troupe'] ; // copie le tableau array_reverse ($_SESSION['Def_troupe']) si inverse, idem dans la cible détruite d'ou $_SESSION['Def_troupe'][$_SESSION['Def_survivant']-1]['nom']
		Passe_Armes('Attaquant', $num_passe_armes, $Stock_Att_flotte, $Stock_Def_flotte) ;

		$Stock_Att_flotte = $_SESSION['Att_flotte'] ; // copie le tableau Attaque les plus gros en premier
		$Stock_Def_flotte = $_SESSION['Def_troupe'] ; // copie le tableau array_reverse ($_SESSION['Def_troupe']) si inverse, idem dans la cible détruite d'ou $_SESSION['Def_troupe'][$_SESSION['Def_survivant']-1]['nom']
		Passe_Armes('Defenseur', $num_passe_armes, $Stock_Def_flotte, $Stock_Att_flotte) ;
	}

	// ------------------------------------- Rapport final -------------------------------------
	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>Nombre de survivants après ' . $num_passe_armes . ' passe(s) de combat : Att.' . $_SESSION['Att_survivant'] . ' / Def. ' . $_SESSION['Def_survivant'] . '</B></FONT><br>' ;

	// ------------------------------ Gestion défaite du défenseur ------------------------------
	if ( $_SESSION['Def_survivant'] == 0 )
	{
		$win_att = 1 ;
		$win_def = 0 ;

		// Gestion effacement de tous les vaisseaux du défenseur s'il perd !
		$req_UPDATE = "UPDATE matgraph_nbrevaisseaux SET nbre=0 WHERE planete = '$Defenseur'" ;
		include ('config.php') ;
		$maj=db_mysql_Query($req_UPDATE) or die('Erreur SQL! <br>' . $req_UPDATE . '<br>' . mysql_error()) ;
		mysql_close() ;

		$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>&nbsp;&nbsp;&nbsp;Effectif(s) détruit(s) du défenseur " ' . $Def_nom . ' "</B></FONT><br>' ;
		for ($i = 0, $decompte = 0, $decompte_bis = 0 ; $i < count($_SESSION['Def_troupe']) ; ++$i)
		{
			if ( $_SESSION['Def_troupe'][$i]['etat'] == "Destroy" AND $_SESSION['Def_troupe'][$i]['categorie'] == "vaisseau" )
			{
				++$decompte ;
				++$decompte_bis ;
				if ( ($_SESSION['Def_troupe'][$i]['nom'] AND $_SESSION['Def_troupe'][$i]['etat']) != ($_SESSION['Def_troupe'][$i+1]['nom'] AND $_SESSION['Def_troupe'][$i+1]['etat']) )
				{
					$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $_SESSION['Def_troupe'][$i]['nom'] . ' ( ' . $decompte . ' )<br>' ;
					$decompte = 0 ;
				}
			}
		}

		if ( $decompte_bis <> 0 ) echo '<br>' ;
		
		if ( $aucun_DCA != true )
 		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Après reconstruction, par les robots de l\'usine robotique,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;de ' . ceil(40 + (2*$val_robo_lvl)) . ' % du système de défense détruit :<br>' ;
		}
		
		// Gestion reconstruction de ceil(40 + (2*$val_robo_lvl)) % de la DCA du défenseur s'il perd !
		$sql3 = "SELECT * FROM matgraph_users WHERE id = '$Defenseur' LIMIT 1" ;
		include ('config.php') ;
		$res3 = db_mysql_Query($sql3) ;
		mysql_close() ;
		$row3 = mysql_fetch_array($res3) ;
		
		$DCA_detruite = 0 ;

		$Tourelle_combat = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['defcombat']) / 100) ;
		$modif_update = "defcombat = '$Tourelle_combat', " ;
		if ( floor($row3['defcombat'] - $Tourelle_combat) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tourelle de combat ( ' . floor($row3['defcombat'] - $Tourelle_combat) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Tourelle_simple = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['deflasersimple']) / 100) ;
		$modif_update .= "deflasersimple = '$Tourelle_simple', " ;
		if ( floor($row3['deflasersimple'] - $Tourelle_simple) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tourelle laser simple ( ' . floor($row3['deflasersimple'] - $Tourelle_simple) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Tourelle_double = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['deflaserdouble']) / 100) ;
		$modif_update .= "deflaserdouble = '$Tourelle_double', " ;
		if ( floor($row3['deflaserdouble'] - $Tourelle_double) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tourelle laser double ( ' . floor($row3['deflaserdouble'] - $Tourelle_double) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Rayon_tracteur = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['defelec']) / 100) ;
		$modif_update .= "defelec = '$Rayon_tracteur', " ;
		if ( floor($row3['defelec'] - $Rayon_tracteur) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rayon tracteur ( ' . floor($row3['defelec'] - $Rayon_tracteur) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Satellite_ions = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['defions']) / 100) ;
		$modif_update .= "defions = '$Satellite_ions', " ;
		if ( floor($row3['defions'] - $Satellite_ions) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mini satellite à ions ( ' . floor($row3['defions'] - $Satellite_ions) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Tour_plasma = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['defplasma']) / 100) ;
		$modif_update .= "defplasma = '$Tour_plasma', " ;
		if ( floor($row3['defplasma'] - $Tour_plasma) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tour à plasma ( ' . floor($row3['defplasma'] - $Tour_plasma) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Tourelle_Naquadah = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['defnaqua']) / 100) ;
		$modif_update .= "defnaqua = '$Tourelle_Naquadah', " ;
		if ( floor($row3['defnaqua'] - $Tourelle_Naquadah) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tourelle de Naquadah ( ' . floor($row3['defnaqua'] - $Tourelle_Naquadah) . ' )<br>' ;
			++$DCA_detruite ;
		}

		$Satellite_Anciens = ceil((ceil(40 + (2*$val_robo_lvl)) * $row3['defanciens']) / 100) ;
		$modif_update .= "defanciens = '$Satellite_Anciens', " ;
		if ( floor($row3['defanciens'] - $Satellite_Anciens) <> 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Satellite des Anciens ( ' . floor($row3['defanciens'] - $Satellite_Anciens) . ' )<br>' ;
			++$DCA_detruite ;
		}

		if ( $DCA_detruite == 0 )
		{
			if ( $aucun_DCA != true )
 			{
				$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tout le système de défense est opérationnel<br>' ;
			}
			else
 			{
				$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aucun système de défense disponible<br>' ;
			}
		}

		// Militaires survivants (vaisseaux + DCA)
		$New_militaires = ceil($_SESSION['militaire_dispo']) ;

		// 60% maximum des ressources pillées, si assez de place dans le fret
		$tempo_idlogin = $idlogin ; 		$tempo_planete = $planete ; 

		$planete = $Defenseur ; 		$idlogin = $idjoueur_def ; 		$timecombat = $Date_resolution ; 
		
		include ('config.php') ;
		include ('ressourcecombat.php') ;
		mysql_close() ;
		$idlogin = $tempo_idlogin ; 		$planete = $tempo_planete ;

		$Vol_fer = ceil((60 * $newwfer_ressource) / 100) ; 
		$Vol_or = ceil((60 * $newwor_ressource) / 100) ; 
		$Vol_ada = ceil((60 * $newwada_ressource) / 100) ; 
		$Vol_ura = ceil((60 * $newwura_ressource) / 100) ; 
		$Moins_fer = 0 ;
		$Moins_or = 0 ;
		$Moins_ada = 0 ;
		$Moins_ura = 0 ;

	$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>&nbsp;&nbsp;&nbsp;Effectif(s) détruit(s) de l\'attaquant " ' . $Att_nom . ' "</B></FONT><br>' ;

		// Gestion du fret des vaisseaux survivants de l'attaquant		
		for ($i = 0, $Destroy_total = 0, $decompte_Destroy = 0, $decompte = 0, $fret_fer = 0, $fret_or = 0, $fret_ada = 0, $fret_ura = 0 ; $i < count($_SESSION['Att_flotte']) ; ++$i)
		{
			if ( $_SESSION['Att_flotte'][$i]['etat'] != "Destroy" )
			{
				++$decompte ;
			}
			else
			{
				++$decompte_Destroy ;
				++$Destroy_total ;
			}

			if ( ($_SESSION['Att_flotte'][$i]['nom'] AND $_SESSION['Att_flotte'][$i]['etat']) != ($_SESSION['Att_flotte'][$i+1]['nom'] AND $_SESSION['Att_flotte'][$i+1]['etat']) )
			{
				// Si tous les vaisseaux de ce type sont détruits, efface la ligne
				if ( $decompte_Destroy == $_SESSION['Att_flotte'][$i]['nbr_total'] )
				{
					$req_DELETE = "DELETE FROM matgraph_mobil WHERE iddepart = '$Attaquant' AND idvaisseau = '$tempo' AND date = '$Date_resolution'" ;
					include ('config.php') ;
					$maj=db_mysql_Query($req_DELETE) or die('Erreur SQL! <br>' . $req_DELETE . '<br>' . mysql_error()) ;
					mysql_close() ;
				}
				else // Gère le fret
				{
					if ($Vol_fer <> 0 )
					{
						if ( ($Vol_fer - ( $_SESSION['Att_flotte'][$i]['fret'] * $decompte )) >= 0 )
						{
							$fret_fer += $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$Vol_fer -= $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$ok_suite = false ;
						}
						else
						{
							$fret_fer += $Vol_fer ;		
							$fret_bonus = ($_SESSION['Att_flotte'][$i]['fret'] * $decompte) - $Vol_fer ;
							$Vol_fer = 0 ;
							$ok_suite = true ;
							}
					}
					if ($Vol_or <> 0 AND $ok_suite)
					{
						if ( $fret_bonus <> 0 AND $Vol_or - $fret_bonus >= 0 )
						{
							$fret_or += $fret_bonus ;
							$Vol_or -= $fret_bonus ;
							$ok_suite = false ;
						}
						elseif ( $fret_bonus <> 0 )
						{
							$fret_or += $Vol_or ;		
							$fret_bonus = $fret_bonus - $Vol_or ;
							$Vol_or = 0 ;
							$ok_suite = true ;
						}
						elseif ( ($Vol_or - ( $_SESSION['Att_flotte'][$i]['fret'] * $decompte )) >= 0 )
						{
							$fret_or += $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$Vol_or -= $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$ok_suite = false ;
						}
						else
						{
							$fret_or += $Vol_or ;		
							$fret_bonus = ($_SESSION['Att_flotte'][$i]['fret'] * $decompte) - $Vol_or ;
							$Vol_or = 0 ;
							$ok_suite = true ;
						}
					}
					if ($Vol_ada <> 0 AND $ok_suite)
					{
						if ( $fret_bonus <> 0 AND $Vol_ada - $fret_bonus >= 0 )
						{
							$fret_ada += $fret_bonus ;
							$Vol_ada -= $fret_bonus ;
							$ok_suite = false ;
						}
						elseif ( $fret_bonus <> 0 )
						{
							$fret_ada += $Vol_ada ;		
							$fret_bonus = $fret_bonus - $Vol_ada ;
							$Vol_ada = 0 ;
							$ok_suite = true ;
						}
						elseif ( ($Vol_ada - ( $_SESSION['Att_flotte'][$i]['fret'] * $decompte )) >= 0 )
						{
							$fret_ada += $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$Vol_ada -= $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$ok_suite = false ;
						}
						else
						{
							$fret_ada += $Vol_ada ;		
							$fret_bonus = ($_SESSION['Att_flotte'][$i]['fret'] * $decompte) - $Vol_ada ;
							$Vol_ada = 0 ;
							$ok_suite = true ;
						}
					}
					if ($Vol_ura <> 0 AND $ok_suite)
					{
						if ( $fret_bonus <> 0 AND $Vol_ura - $fret_bonus >= 0 )
						{
							$fret_ura += $fret_bonus ;
							$Vol_ura -= $fret_bonus ;
							$ok_suite = false ;
						}
						elseif ( $fret_bonus <> 0 )
						{
							$fret_ura += $Vol_ura ;		
							$fret_bonus = $fret_bonus - $Vol_ura ;
							$Vol_ura = 0 ;
							$ok_suite = true ;
						}
						elseif ( ($Vol_ura - ( $_SESSION['Att_flotte'][$i]['fret'] * $decompte )) >= 0 )
						{
							$fret_ura += $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$Vol_ura -= $_SESSION['Att_flotte'][$i]['fret'] * $decompte ;
							$ok_suite = false ;
						}
						else
						{
							$fret_ura += $Vol_ura ;		
							$fret_bonus = ($_SESSION['Att_flotte'][$i]['fret'] * $decompte) - $Vol_ura ;
							$Vol_ura = 0 ;
							$ok_suite = true ;
						}
					}

					$tempo = $_SESSION['Att_flotte'][$i]['id'] ;
					$temps_voyage = $_SESSION['Att_flotte'][$i]['voyage'] ;
					$temps_arrivee = strftime("%Y-%m-%d %H:%M:%S", time() + $temps_voyage) ;
					$req_UPDATE = "UPDATE matgraph_mobil SET date='$temps_arrivee', nombre='$decompte', mission='retour', fret_fer='$fret_fer', fret_or='$fret_or', fret_ada='$fret_ada', fret_ura='$fret_ura' WHERE iddepart = '$Attaquant' AND idvaisseau = '$tempo' AND date = '$Date_resolution'" ;
					include ('config.php') ;
					$maj=db_mysql_Query($req_UPDATE) or die('Erreur SQL! <br>' . $req_UPDATE . '<br>' . mysql_error()) ;
					mysql_close() ;
					
					// décompter des ressources du perdant 
					$Moins_fer += $fret_fer ;
					$Moins_or += $fret_or ;
					$Moins_ada += $fret_ada ;
					$Moins_ura += $fret_ura ;
				}
				if ( $decompte_Destroy <> 0 )
				{
					$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $_SESSION['Att_flotte'][$i]['nom'] . ' ( ' . $decompte_Destroy . ' )<br>' ;
				}
				$fret_fer = 0 ;
				$fret_or = 0 ;
				$fret_ada = 0 ;
				$fret_ura = 0 ;
				$decompte = 0 ;
				$decompte_Destroy = 0 ;
			}
		}

		if ( $Destroy_total == 0 )
		{
			$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aucun vaisseau détruit<br>' ;
		}

		// affiche les ressources totales pillées.
		$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>&nbsp;&nbsp;&nbsp;Avant :</B>
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- fer ( ' . $newwfer_ressource . ' )
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- or ( ' . $newwor_ressource . ' )
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- cristal ( ' . $newwada_ressource . ' )
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- naquadah ( ' . $newwura_ressource . ' )</FONT><br>' ;

		$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>&nbsp;&nbsp;&nbsp;Vol de :</B>
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- fer ( ' . $Moins_fer . ' )
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- or ( ' . $Moins_or . ' )
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- cristal ( ' . $Moins_ada . ' )
		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- naquadah ( ' . $Moins_ura . ' )</FONT><br>' ;
		
		// Modification des ressources défenseur
		$nouv_fer = $newwfer_ressource - $Moins_fer ;
		$nouv_or = $newwor_ressource - $Moins_or ;
		$nouv_ada = $newwada_ressource - $Moins_ada ;
		$nouv_ura = $newwura_ressource - $Moins_ura ;		

		$req_UPDATE = "UPDATE matgraph_users SET fer_ressource='$nouv_fer', or_ressource='$nouv_or', ada_ressource='$nouv_ada', ura_ressource='$nouv_ura' WHERE planete = '$Defenseur'" ;
		include ('config.php') ;
		$maj=db_mysql_Query($req_UPDATE) or die('Erreur SQL! <br>' . $req_UPDATE . '<br>' . mysql_error()) ;
		mysql_close() ;

		// Gestion du score
		// Calcul des nouveaux scores du défenseur
 		$New_mili_nbre = $New_militaires ;
		Score_flotte ($idjoueur_def, $Defenseur, $New_mili_nbre, $modif_update) ;

		// Calcul des nouveaux scores du défenseur
 		$New_mili_nbre = false ;
		$modif_update = false ;
		Score_flotte ($idjoueur_att, $Attaquant, $New_mili_nbre, $modif_update) ;
	}

	// ------------------------------ Gestion défaite de l'Attaquant ------------------------------
	if ( $_SESSION['Att_survivant'] == 0 )
	{
		$win_att = 0 ;
		$win_def = 1 ;

		// Efface la ligne de mobil
		$req_DELETE = "DELETE FROM matgraph_mobil WHERE iddepart = '$Attaquant' AND date = '$Date_resolution'" ;
		include ('config.php') ;
		$maj=db_mysql_Query($req_DELETE) or die('Erreur SQL! <br>' . $req_DELETE . '<br>' . mysql_error()) ;
		mysql_close() ;

		$DCA_detruite = 0 ;
		$modif_update = '' ;

		$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>&nbsp;&nbsp;&nbsp;Effectif(s) détruit(s) du défenseur " ' . $Def_nom . ' "</B></FONT><br>' ;

		// modifie les troupes du défenseur suivant les pertes (vaisseaux, DCA, militaires)
		for ($i = 0, $decompte_DCA = 0, $decompte = 0, $DCA_final = 0 ; $i < count($_SESSION['Def_troupe']) ; ++$i)
		{
			if ( $_SESSION['Def_troupe'][$i]['etat'] == "Destroy" AND $_SESSION['Def_troupe'][$i]['categorie'] == "vaisseau" )
			{
				++$decompte ;
				if ( ($_SESSION['Def_troupe'][$i]['nom'] AND $_SESSION['Def_troupe'][$i]['etat']) != ($_SESSION['Def_troupe'][$i+1]['nom'] AND $_SESSION['Def_troupe'][$i+1]['etat']) )
				{
					$Perte_humaine += $decompte * $_SESSION['Def_troupe'][$i]['Equip'] ;
					$typ_vaisseau = $_SESSION['Def_troupe'][$i]['id'] ;
					$total_vaisseau = $_SESSION['Def_troupe'][$i]['nbre_total'] ;
					$req_UPDATE = "UPDATE matgraph_vaisseaux SET nbre = '". ($total_vaisseau-$decompte) . "' WHERE iduser = '$idjoueur_def' AND planete = '$Defenseur' AND vaisseau = '$typ_vaisseau' " ;
					include ('config.php') ;
					$maj=db_mysql_Query($req_UPDATE) or die('Erreur SQL! <br>' . $req_UPDATE . '<br>' . mysql_error()) ;
					mysql_close() ;
					$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $_SESSION['Def_troupe'][$i]['nom'] . ' ( ' . $decompte . ' )<br>' ;
					$decompte = 0 ;
				}
			}
			if ( $_SESSION['Def_troupe'][$i]['etat'] == "Destroy" AND $_SESSION['Def_troupe'][$i]['categorie'] == "DCA" )
			{
				++$decompte_DCA ;
				if ( ($_SESSION['Def_troupe'][$i]['nom'] AND $_SESSION['Def_troupe'][$i]['etat']) != ($_SESSION['Def_troupe'][$i+1]['nom'] AND $_SESSION['Def_troupe'][$i+1]['etat']) )
				{
					$Perte_humaine += $decompte_DCA * $_SESSION['Def_troupe'][$i]['Equip'] ;
					$DCA_detruite = floor($decompte_DCA - ( (ceil(40 + (2*$val_robo_lvl))*$decompte_DCA) / 100 )) ;
					$Tempo_calcul = ceil($_SESSION['Def_troupe'][$i]['nbre_total'] - $DCA_detruite) ;
					$modif_update = $_SESSION['Def_troupe'][$i]['type'] . " = '" . $Tempo_calcul . "', " ;
					if ( $aucun_DCA != true )
 					{
						$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Après reconstruction, par les robots de l\'usine robotique,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;de ' . ceil(40 + (2*$val_robo_lvl)) . ' % du système de défense détruit :<br>' ;
					}
					if ($DCA_detruite <> 0)
					{
						$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $_SESSION['Def_troupe'][$i]['nom'] . ' ( ' . $DCA_detruite . ' )<br>' ;
						++$DCA_final ;
					}
					$decompte_DCA = 0 ;
				}				
			}
		}

		if ( $DCA_final == 0 )
		{
			if ( $aucun_DCA != true )
 			{
				$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tout le système de défense est opérationnel<br>' ;
			}
			else
 			{
				$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aucun système de défense disponible<br>' ;
			}
		}

		$_SESSION['Rapport'] .= '<FONT style="font-size:11pt;"><B><br>&nbsp;&nbsp;&nbsp;Effectif(s) détruit(s) de l\'attaquant " ' . $Att_nom . ' "</B></FONT><br>' ;

		for ($i = 0, $decompte = 0 ; $i < count($_SESSION['Att_flotte']) ; ++$i)
		{
			if ( $_SESSION['Att_flotte'][$i]['etat'] == "Destroy" )
			{
				++$decompte ;
				if ( ($_SESSION['Att_flotte'][$i]['nom'] AND $_SESSION['Att_flotte'][$i]['etat']) != ($_SESSION['Att_flotte'][$i+1]['nom'] AND $_SESSION['Att_flotte'][$i+1]['etat']) )
				{
					$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $_SESSION['Att_flotte'][$i]['nom'] . ' ( ' . $decompte . ' )<br>' ;
					$decompte = 0 ;
				}
			}
		}
		// Gestion du score
		// Calcul des nouveaux scores du défenseur
 		$New_mili_nbre = ($_SESSION['Total_mili']-$Perte_humaine) ;
		Score_flotte ($idjoueur_def, $Defenseur, $New_mili_nbre, $modif_update) ;

		// Calcul des nouveaux scores du défenseur
 		$New_mili_nbre = false ;
		$modif_update = false ;
		Score_flotte ($idjoueur_att, $Attaquant, $New_mili_nbre, $modif_update) ;
	}

		// remplissage du tableau de message bataille
		$Tempo = htmlentities ($_SESSION['Rapport'], ENT_QUOTES) ;
		$Tempo_bis = htmlentities ($_SESSION['Detail'], ENT_QUOTES) ;

		// Défenseur
		$req_INSERT = "INSERT INTO matgraph_bataille VALUES ('', '$Date_resolution', 'non', '$Defenseur', '$sujet', '$Tempo', '$Tempo_bis', '$win_def')" ;
		include ('config.php') ;
		$maj=db_mysql_Query($req_INSERT) or die('Erreur SQL! <br>' . $req_INSERT . '<br>' . mysql_error()) ;
		mysql_close() ;

		// Attaquant
		$req_INSERT = "INSERT INTO matgraph_bataille VALUES ('', '$Date_resolution', 'non', '$Attaquant', '$sujet', '$Tempo', '$Tempo_bis', '$win_att')" ;
		include ('config.php') ;
		$maj=db_mysql_Query($req_INSERT) or die('Erreur SQL! <br>' . $req_INSERT . '<br>' . mysql_error()) ;
		mysql_close() ;

		echo '<FONT FACE="Courier New, Courier, mono" style="color: #00CC66;text-align: left;" Size=-1>' ;
		echo $sujet . ' <br><br> ' . html_entity_decode ($Tempo, ENT_QUOTES) ;

		echo '<br><br><B>Rapport détaillé du combat</B><br>' . html_entity_decode ($Tempo_bis, ENT_QUOTES) ;
		echo '</FONT><DIV id="cligno1" style="font-family:Courier New, Courier, mono;color:#00CC66;text-align:left;"><B>_</B></DIV>' ;

}

// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°   FONCTIONS   °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
function DCA_resolution ($DCA_nom, $Type_DCA, $puissance, $resistance, $Type_nom)
{
	$i = 0 ;
	while ( $i < $Type_DCA )
	{
		$Militaire_besoin = $puissance ;
		if ( ($_SESSION['militaire_dispo'] - $Militaire_besoin) >= 0 )
		{
			++$i ;
			$val_A = ( $puissance * ($_SESSION['techArmement_lvl']) ) ;
			$val_C = ( $resistance * ($_SESSION['techcoque_lvl']) ) ;
			$_SESSION['militaire_dispo'] -= $Militaire_besoin ;
			$_SESSION['DCA_Tir'] += $val_A ;
			$_SESSION['DCA_Coque'] += $val_C ;
		}
		else
		{	
			$_SESSION['Manque_personnel'] = true ;	
			break ;
		}
	}
	if ( $i > 0 )
	{
		$_SESSION['Rapport'] .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $DCA_nom . ' (' . $i . ') ' .
		' /A. ' . $val_A . 
		' /C. ' . $val_C . ' /Equip. ' . $Militaire_besoin .
		'<br>' ;

		for ($j = 0 ; $j < $i ; ++$j) 
		{
			$_SESSION['Def_troupe'][] = array('categorie' => 'DCA', 'arme' => $val_A, 'bouclier' => 0, 'coque' => $val_C, 'etat' => 'intact', 'nom' => $DCA_nom, 'priorite' => 'faible', 'type' => $Type_nom, 'Equip' => $Militaire_besoin, 'nbre_total' => $Type_DCA) ;
		}
	}
}

// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°   FONCTIONS   °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
function Passe_Armes ($Belligerant, $num_passe_armes, $Stock_troupe1, $Stock_troupe2)
{
// $_SESSION[$Cible][$Survivant-1]['nom'] pour attaquer le plus puissant 
// $_SESSION[$Cible][count($_SESSION[$Cible])-$Survivant]['nom'] pour attaquer le plus faible

	if ( $Belligerant == 'Attaquant' )
	{
		$Survivant = $_SESSION['Def_survivant'] ;
		$Cible = 'Def_troupe' ;
	}
	else
	{
		$Survivant = $_SESSION['Att_survivant'] ;
		$Cible = 'Att_flotte' ;
	}

	$_SESSION['Detail'] .= '<hr width="10%" align="left"><FONT style="font-size:11pt;">' . $Belligerant . ' -> passe d\'armes n° ' . $num_passe_armes . '</FONT><br>' ;
	
	$Compteur = 0 ;
	while( count($Stock_troupe1) > 0 AND $Survivant > 0) // tant qu'il y a un opposant disponible
	{
		if ( $Stock_troupe1[0]['etat'] != "Destroy" )
		{
			++$Compteur ;
			if ( $Stock_troupe1[0]['priorite'] == 'fort' )
			{
				$Cible_precise = count($_SESSION[$Cible])-$Survivant ;
				$Cible_priorite = 0 ;
			}
			else
			{
				$Cible_precise = $Survivant-1 ;
				$Cible_priorite = count($Stock_troupe2)-1 ;
			}

			while ( $Stock_troupe2[$Cible_priorite]['etat'] == "Destroy" ) // gère les destroy des cibles
			{
				if ( $Stock_troupe1[0]['priorite'] == 'fort' )
				{
					array_shift ($Stock_troupe2) ; // supprime le plus fort
				}
				else
				{
					array_pop ($Stock_troupe2) ; // supprime le plus faible
					$Cible_priorite = count($Stock_troupe2)-1 ;
				}
			}

			$Puissance_feu = $Stock_troupe1[0]['arme'] ;
			$_SESSION['Detail'] .= $Stock_troupe1[0]['nom'] . ' <I>versus</I> ' . $Stock_troupe2[$Cible_priorite]['nom'] ;
			if ( $Puissance_feu > $Stock_troupe2[$Cible_priorite]['bouclier'] ) // si arme sup à bouclier
			{
				$_SESSION[$Cible][$Cible_precise]['coque'] -= ($Puissance_feu - $Stock_troupe2[$Cible_priorite]['bouclier']) ;
				$_SESSION['Detail'] .= ' (' . $_SESSION[$Cible][$Cible_precise]['coque'] . ')' ;
				if ( ($_SESSION[$Cible][$Cible_precise]['coque']) <= 0 )
				{
					$_SESSION[$Cible][$Cible_precise]['etat'] = "Destroy" ;
					$_SESSION['Detail'] .= ' -> ' . $_SESSION[$Cible][$Cible_precise]['etat'] ;
					--$Survivant ;
					if ( $Stock_troupe1[0]['priorite'] == 'fort' )
					{
						array_shift ($Stock_troupe2) ; // supprime le plus fort
					}
					else
					{
						array_pop ($Stock_troupe2) ; // supprime le plus faible
					}
				}
			}
			else
			{
				$_SESSION['Detail'] .= ' ( bouclier )' ;
			}

			$_SESSION['Detail'] .= '<br>' ;

			array_shift ($Stock_troupe1) ;
		}
		else
		{
			array_shift ($Stock_troupe1) ;
		}
	}		
	if ( $Compteur == 0) $_SESSION['Detail'] .= 'Aucun survivant<br>' ;

	if ( $Belligerant == 'Attaquant' )
	{
		$_SESSION['Def_survivant'] = $Survivant ;
	}	
	else
	{
		$_SESSION['Att_survivant'] = $Survivant ;
	}
}

// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°   FONCTIONS   °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
function Score_flotte ($idjoueur, $Defenseur, $New_mili_nbre, $modif_update)
{
	$Score_vaisseau ='' ;

	$req = "SELECT * FROM matgraph_nbrevaisseaux WHERE user = '$idjoueur'" ;
	include ('config.php') ;
	$res = db_mysql_Query($req) or die('Erreur SQL! <br>' . $req . '<br>' . mysql_error()) ;
	mysql_close() ;
	$num = mysql_num_rows($res) ;
	if ( $num > 0 )
	{
		While ( $row = mysql_fetch_array($res) )
		{
			// Calcul le score des vaisseaux non mobilisés
			$sql2 = "SELECT * FROM matgraph_vaisseaux WHERE id = '$row[vaisseau]'" ;
			include ('config.php') ;
			$res2 = db_mysql_Query($sql2) or die('Erreur SQL! <br>' . $sql2 . '<br>' . mysql_error()) ;
			mysql_close() ;
			$row2 = mysql_fetch_array($res2) ;
			$Score_vaisseau += ( ( $row2['fer'] + $row2['or'] + $row2['ada'] + $row2['ura'] ) * $row['nbre'] ) ;

			// Calcul le score des vaisseaux mobilisés
			$sql_6 = "SELECT iddepart, idvaisseau, nombre FROM matgraph_mobil WHERE iddepart = '$row[planete]' AND idvaisseau = '$row[vaisseau]' " ;
			include ('config.php') ;
			$res_6 = db_mysql_Query($sql_6) or die('erreur sql<br>' . $sql_6 . '<br>' . mysql_error()) ;
			mysql_close() ;
			While ($row_6 = mysql_fetch_array($res_6) )
			{
				$Score_vaisseau += ( ( $row2['fer'] + $row2['or'] + $row2['ada'] + $row2['ura'] ) * $row_6['nombre'] ) ;
			}
		}
	}

	$sql3 = "SELECT * FROM matgraph_users WHERE idjoueur = '$idjoueur'" ; 
	include ('config.php') ;
	$res3 = db_mysql_Query($sql3) or die('Erreur SQL! <br>' . $sql3 . '<br>' . mysql_error()) ;
	mysql_close() ;
	While ( $row3 = mysql_fetch_array($res3) )
	{
		$New_pts_def += ($row3['defcombat']*2500 + $row3['deflasersimple']*2500 + $row3['deflaserdouble']*3300 + $row3['defelec']*5000 + $row3['defions']*42000 + $row3['defplasma']*80000 + $row3['defnaqua']*176000 + $row3['defanciens']*555000) ;
	}
	
	// Enregistre les scores sur la planète mère
	$req_UPDATE = "UPDATE matgraph_users SET pts_flotte = '$Score_vaisseau', pts_def = '$New_pts_def' WHERE id = '$idjoueur'" ;
	include ('config.php') ;
	$maj=db_mysql_Query($req_UPDATE) or die('Erreur SQL! <br>' . $req_UPDATE . '<br>' . mysql_error()) ;
	mysql_close() ;

	// modification système défense et militaires sur la planète attaquée
	if ( $New_mili_nbre != false )
	{
		$req_UPDATE = "UPDATE matgraph_users SET $modif_update mili_nbre = '$New_mili_nbre' WHERE id = '$Defenseur'" ;
		include ('config.php') ;
		$maj=db_mysql_Query($req_UPDATE) or die('Erreur SQL! <br>' . $req_UPDATE . '<br>' . mysql_error()) ;
		mysql_close() ;
	}
}
?>

<SCRIPT LANGUAGE="JavaScript" type="text/javascript">function clignotement(_actif)
{	if (document.getElementById(_actif).style.color=="black")		document.getElementById(_actif).style.color="#00CC66" ;	else		document.getElementById(_actif).style.color="black" ;
}// mise en place de l appel régulier de la fonction toutes les 0.5 secondesPeriode = setInterval("clignotement('cligno1')", 500) ;
</script>

