2008-11-17 11:00:00 +00:00
< ? php
if ( ! defined ( 'INDEX' )) { header ( 'Location: ../' ); exit ; }
$titre = 'Flottes' ;
2008-11-16 11:00:00 +00:00
if ( ! empty ( $_POST [ 'cds' ]) && ! empty ( $_POST [ 'nomflotte' ]) && isset ( $_POST [ 'amas' ]) && ! empty ( $_POST [ 'ss' ]) && ! empty ( $_POST [ 'pos' ]) && ! empty ( $_POST [ 'vitesse' ]) && isset ( $_POST [ 'mission' ]) && isset ( $_POST [ 'metal' ]) && isset ( $_POST [ 'cristal' ]) && isset ( $_POST [ 'hydrogene' ])) {
2008-11-17 11:00:00 +00:00
$end_galaxie = floor ( $_POST [ 'amas' ]);
$end_ss = floor ( $_POST [ 'ss' ]);
$end_pos = floor ( $_POST [ 'pos' ]);
$mission = floor ( $_POST [ 'mission' ]);
2008-11-16 11:00:00 +00:00
if ( isset ( $_POST [ 'tactique' ])) $tactique = floor ( $_POST [ 'tactique' ]);
else $tactique = 0 ;
2008-11-22 11:00:00 +00:00
$EBmetal = floor ( $_POST [ 'metal' ]);
$EBcristal = floor ( $_POST [ 'cristal' ]);
$EBhydrogene = floor ( $_POST [ 'hydrogene' ]);
2008-11-30 11:00:00 +00:00
$vitesse = floor ( $_POST [ 'vitesse' ]) / 100 ;
2008-11-22 11:00:00 +00:00
2008-11-04 11:00:00 +00:00
$bdd -> connexion ();
$bdd -> escape ( $end_galaxie );
$bdd -> escape ( $end_ss );
$bdd -> escape ( $end_pos );
$bdd -> escape ( $mission );
$bdd -> escape ( $tactique );
$bdd -> escape ( $EBmetal );
$bdd -> escape ( $EBcristal );
$bdd -> escape ( $EBhydrogene );
$bdd -> escape ( $vitesse );
$resultat = $bdd -> query ( " SELECT id FROM $table_flottes WHERE id_user = ' $id_user ' " );
$nbr = $bdd -> num_rows ;
2008-11-17 11:00:00 +00:00
//Vérification du code anti-bots
if ( $_POST [ 'cds' ] != $sess -> values [ 'flcds' ]) {
$template -> assign ( 'message' , 'Impossible d\'authentifier l\'envoie de la flotte.<br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//Si la mission est d'attaquer, on vérifie que les attaques ne soient pas désactivées
2008-11-22 11:00:00 +00:00
elseif ( $mission == 1 && ! ATTAQUES ) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Les attaques sont désactivées pour le moment. Pour plus d\'informations, <a href="http://halo-battle.s-fr.com/forum/">consultez le forum</a>.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 5000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//Vérification que la destination ne soit pas en dehors de la galaxie
elseif ( $end_galaxie > MAX_AMAS || $end_ss > MAX_SYSTEME || $end_pos > MAX_PLANETE || $end_galaxie < 0 || $end_ss < 1 || $end_pos < 1 || ( $end_galaxie < 1 && $sess -> values [ 'auth_level' ] < 6 )) {
$template -> assign ( 'message' , 'La destination de la flotte n\'est pas correcte.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//Vérification que le nombre de slots ne soit pas dépassé
2008-11-30 11:00:00 +00:00
elseif ( $nbr > $queryUser [ 'informatique' ]) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Vous n\'avez pas assez de slots disponibles.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//On vérifie la mission
2008-11-16 11:00:00 +00:00
elseif ( $mission < 0 || $mission > 5 ) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Mission incorrecte !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//Si la mission est d'attaquer, on vérifie la tactique
2008-11-22 11:00:00 +00:00
elseif ( $mission == 1 && $tactique > $queryUser [ 'tactique' ]) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Vous ne connaissez pas cette tactique de combat !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//On vérifie la mission, si elle est d'espionner, il faut qu'il y ait des sondes
elseif ( $mission == 5 && ( ! isset ( $sess -> values [ 'vais' ][ 4 ]) || $sess -> values [ 'vais' ][ 4 ] < 0 )) {
$template -> assign ( 'message' , 'Vous ne pouvez pas espionner sans sonde d\'espionnage !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//On vérifie la mission, si elle est de coloniser, il faut qu'il y ait des vaisseaux de colonisation
elseif ( $mission == 3 && ( ! isset ( $sess -> values [ 'vais' ][ 3 ]) || $sess -> values [ 'vais' ][ 3 ] < 0 )) {
$template -> assign ( 'message' , 'Vous ne pouvez pas coloniser sans vaisseau de colonisation !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//On vérifie la mission, si elle est de recycler, il faut qu'il y ait des reclycleurs
elseif ( $mission == 4 && ( ! isset ( $sess -> values [ 'vais' ][ 5 ]) || $sess -> values [ 'vais' ][ 5 ] < 0 )) {
$template -> assign ( 'message' , 'Vous ne pouvez pas coloniser sans vaisseau de colonisation !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//On vérifie que l'on possède assez de ressources
2008-11-22 11:00:00 +00:00
elseif (( ! empty ( $EBmetal ) && ! $EBmetal > $queryPlanete [ 'metal' ]) || ( ! empty ( $EBcristal ) && ! $EBcristal > $queryPlanete [ 'cristal' ]) || ( ! empty ( $EBhydrogene ) && ! $EBhydrogene > $queryPlanete [ 'hydrogene' ])) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
2008-11-04 11:00:00 +00:00
//On vérifie que l'on n'envoie pas des ressources négatives
elseif (( ! empty ( $EBmetal ) && $EBmetal < 0 ) || ( ! empty ( $EBcristal ) && $EBcristal < 0 ) || ( ! empty ( $EBhydrogene ) && $EBhydrogene < 0 )) {
$template -> assign ( 'message' , 'Vous avez spécifié des valeurs négatives !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
2008-11-17 11:00:00 +00:00
//On vérifie la vitesse du vaisseau
2008-11-22 11:00:00 +00:00
elseif ( ! is_numeric ( $vitesse ) || $vitesse < 0 || $vitesse > 100 ) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'La vitesse de votre flotte est incorrecte !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
else {
2008-11-04 11:00:00 +00:00
$resultat = $bdd -> unique_query ( " SELECT * FROM $table_planete WHERE galaxie = ' $end_galaxie ' AND ss = ' $end_ss ' AND position = ' $end_pos '; " );
2008-11-17 11:00:00 +00:00
//Si la mission est d'attaquer, on vérifie que le joueur cible ne soit pas ne mode vacances
if ( $mission == 1 ) {
//Récupération de l'ID du joueur cible
$rech_user = $resultat [ 'id_user' ];
2008-11-04 11:00:00 +00:00
$resultatu = $bdd -> unique_query ( " SELECT * FROM $table_user WHERE id = ' $rech_user '; " );
2008-11-17 11:00:00 +00:00
if ( $resultatu [ 'mv' ] != 0 ) {
$template -> assign ( 'message' , 'Le joueur que vous tentez d\'attaquer est actuellement en mode vacances, vous ne pouvez donc pas l\'attaquer avant son retour de vacances.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
elseif ( $resultatu [ 'time_inscription' ] + 604800 > time ()) {
$template -> assign ( 'message' , 'Le joueur que vous tentez d\'attaquer s\'est inscrit récemment, laissez-lui le temps de se préparer au combat !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
elseif ( ! $resultat ) {
$template -> assign ( 'message' , 'La planète que vous tentez d\'attaquer est inhabitée.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
elseif ( $resultat [ 'id_user' ] == $id_user ) {
$template -> assign ( 'message' , 'La planète que vous tentez d\'attaquer vous appartient.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
}
elseif ( $mission == 2 && ! $resultat ) {
$template -> assign ( 'message' , 'Impossible de transporter des ressources vers la planète [' . $end_galaxie . ':' . $end_ss . ':' . $end_pos . '] car elle est inhabitée.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
elseif ( $mission == 3 && $resultat ) {
$template -> assign ( 'message' , 'La planète que vous voulez coloniser est déjà habitée.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
2008-11-16 11:00:00 +00:00
elseif ( $mission == 0 && $resultat [ 'id_user' ] != $id_user ) {
$template -> assign ( 'message' , 'La planète sur laquelle vous désirez stationner ne vous appartient pas.' . $resultat [ 'id_user' ] . ' : ' . $id_user );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
2008-11-17 11:00:00 +00:00
elseif ( $mission == 4 && ( $resultat [ 'debris_met' ] <= 0 || $resultat [ 'debris_cri' ] <= 0 ) && empty ( $sess -> values [ 'forceFlotte' ])) {
$sess -> values [ 'forceFlotte' ] = true ;
$sess -> put ();
$template -> assign ( 'message' , 'Il n\'y a rien à recycler sur la planète [' . $end_galaxie . ':' . $end_ss . ':' . $end_pos . '].<br />Vous pouvez forcer le lancement de la flotte en rechargeant cette page.' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//Création de la flotte
$req = '' ;
$reqb = '' ;
$reqPlan = '' ;
$nbVais = '' ;
$nbI = count ( $nomvaisa );
for ( $i = 1 ; $i <= $nbI ; $i ++ ) {
if ( ! empty ( $sess -> values [ 'vais' ][ $i ])) {
if ( $sess -> values [ 'vais' ][ $i ] > $queryPlanete [ 'vaisseau_' . $i ]) {
$template -> assign ( 'message' , 'Vous avez envoyé plus de vaisseaux que vous n\'en posséder sur cette planète.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
else {
$req .= " ' " . $sess -> values [ 'vais' ][ $i ] . " ', " ;
2008-11-04 11:00:00 +00:00
$reqb .= " vaisseau_ $i , " ;
2008-11-17 11:00:00 +00:00
if ( ! empty ( $reqPlan )) $reqPlan .= ', ' ;
2008-11-04 11:00:00 +00:00
$reqPlan .= " vaisseau_ $i = vaisseau_ $i - ' " . $sess -> values [ 'vais' ][ $i ] . " ' " ;
2008-11-17 11:00:00 +00:00
$nbVais += $sess -> values [ 'vais' ][ $i ];
}
}
}
if ( $nbVais <= 0 ) {
$template -> assign ( 'message' , 'Vous devez envoyer au moins un vaisseau pour former une flotte !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
elseif ( $sess -> values [ 'flnbvais' ] != $nbVais ) {
$template -> assign ( 'message' , 'Une erreur est survenue lors de la création de la flotte :<br /><br /><i>Calcul du nombre de vaisseaux incorrect !</i><br /><br />Si le problème perciste, <a href="">contactez un administrateur</a>.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
else {
//Envoie de la flotte
2008-11-22 11:00:00 +00:00
$nom = $_POST [ 'nomflotte' ];
2008-11-04 11:00:00 +00:00
$bdd -> escape ( $nom );
2008-11-17 11:00:00 +00:00
$start_time = time ();
$start_galaxie = $queryPlanete [ 'galaxie' ];
$start_ss = $queryPlanete [ 'ss' ];
$start_pos = $queryPlanete [ 'position' ];
$end_time = vais_tempsDeplacement ( $start_galaxie , $start_ss , $start_pos , $end_galaxie , $end_ss , $end_pos , $sess -> values [ 'flvitesse' ], $vitesse , $sess -> values [ 'flpreparation' ], $sess -> values [ 'flchauffe' ]);
if ( $end_time <= 0 ) {
$end_time = 454 ;
}
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie
2008-11-30 11:00:00 +00:00
$conso = vais_conso ( $end_time , $nbVais ) * $vitesse / 45 * 2 ;
2008-11-04 11:00:00 +00:00
$contenu_metal = $_POST [ 'metal' ]; $bdd -> escape ( $contenu_metal ); $plan_metal = $queryPlanete [ 'metal' ] - $contenu_metal ;
$contenu_cristal = $_POST [ 'cristal' ]; $bdd -> escape ( $contenu_cristal ); $plan_cristal = $queryPlanete [ 'cristal' ] - $contenu_cristal ;
$contenu_hydrogene = $_POST [ 'hydrogene' ]; $bdd -> escape ( $contenu_hydrogene ); $plan_hydrogene = $queryPlanete [ 'hydrogene' ] - $contenu_hydrogene - $conso ;
2008-11-17 11:00:00 +00:00
$contenu_max = $sess -> values [ 'flcontenu' ];
2008-11-19 11:00:00 +00:00
if ( $contenu_metal + $contenu_cristal + $contenu_hydrogene + $conso > $contenu_max && $contenu_metal + $contenu_cristal + $contenu_hydrogene != 0 ) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Vous ne pouvez pas embarquer autant de ressources, les cales débordent.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
2008-11-30 11:00:00 +00:00
elseif ( $plan_metal < 0 || $plan_cristal < 0 || $plan_hydrogene < 0 ) {
$template -> assign ( 'message' , 'Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
2008-11-17 11:00:00 +00:00
else {
if ( $mission == 1 ) {
$tactiqueAT = $_POST [ 'tactique' ];
2008-11-04 11:00:00 +00:00
$bdd -> escape ( $tactiqueAT );
2008-11-17 11:00:00 +00:00
$tactiqueEN = $resultatu [ 'tactique' ];
2008-11-04 11:00:00 +00:00
$bdd -> escape ( $tactiqueEN );
2008-11-17 11:00:00 +00:00
}
else {
$tactiqueAT = 0 ;
$tactiqueEN = 0 ;
}
2008-11-03 11:00:00 +00:00
$bdd -> query ( " INSERT INTO $table_flottes (id_user, mission, start_time, start_galaxie, start_ss, start_position, end_time, end_galaxie, end_ss, end_position, vitesse, contenu_metal, contenu_cristal, contenu_hydrogene, contenu_max, nb_vais, $reqb tactiqueAT, tactiqueEN, nom) VALUES ( $id_user , ' $mission ', ' $start_time ', ' $start_galaxie ', ' $start_ss ', ' $start_pos ', ' $end_time ', ' $end_galaxie ', ' $end_ss ', ' $end_pos ', ' $vitesse ', ' $contenu_metal ', ' $contenu_cristal ', ' $contenu_hydrogene ', ' $contenu_max ', ' $nbVais ', $req ' $tactiqueAT ', ' $tactiqueEN ', ' $nom '); " );
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_planete SET $reqPlan , metal = ' $plan_metal ', cristal = ' $plan_cristal ', hydrogene = ' $plan_hydrogene ' WHERE id = ' $idPlan ' LIMIT 1 ; " );
$bdd -> deconnexion ();
2008-11-17 11:00:00 +00:00
unset ( $sess -> values [ 'vais' ]);
$sess -> put ();
$template -> assign ( 'message' , 'Votre flotte a été envoyée avec succès.' );
$template -> assign ( 'couleur' , 'green' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4000);</script>' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
}
}
}
elseif ( ! empty ( $_POST [ 'v1' ]) || ! empty ( $_POST [ 'v2' ]) || ! empty ( $_POST [ 'v3' ]) || ! empty ( $_POST [ 'v4' ]) || ! empty ( $_POST [ 'v5' ]) || ! empty ( $_POST [ 'v6' ]) || ! empty ( $_POST [ 'v7' ]) || ! empty ( $_POST [ 'v8' ]) || ! empty ( $_POST [ 'v9' ]) || ! empty ( $_POST [ 'v10' ]) || ! empty ( $_POST [ 'v11' ]) || ! empty ( $_POST [ 'v12' ])) {
$nombreVaisseau = 0 ;
for ( $i = 1 ; $i <= 12 ; $i ++ ) {
if ( ! isset ( $_POST [ 'v' . $i ]) || ! is_numeric ( $_POST [ 'v' . $i ]) || $_POST [ 'v' . $i ] != abs ( floor ( $_POST [ 'v' . $i ]))) $_POST [ 'v' . $i ] = 0 ;
if ( $_POST [ 'v' . $i ] >= 0 && $i != 11 ) {
$sess -> values [ 'vais' ][ $i ] = $_POST [ 'v' . $i ];
$nombreVaisseau += $_POST [ 'v' . $i ];
//Si on indique un nombre de vaisseaux supérieur au nombre présent sur la planète
if ( $_POST [ 'v' . $i ] > $queryPlanete [ 'vaisseau_' . $i ]) {
$template -> assign ( 'message' , 'Il ne vous reste plus assez de vaisseaux !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
}
}
$sess -> values [ 'flnbvais' ] = $nombreVaisseau ;
$sess -> values [ 'forceFlotte' ] = false ;
//On vérifie que l'utilisateur a bien envoyé plus d'un vaisseau
if ( $nombreVaisseau <= 0 ) {
$template -> assign ( 'message' , 'Vous devez envoyer au moins un vaisseau.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2000);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
//On ajoute des missions supplémentaire suivant les vaisseaux envoyés
$lvltactique = $queryUser [ 'tactique' ];
$actionsupp = '' ;
if ( $lvltactique >= 1 ) $actionsupp .= '<option value="1" selected="selected">Attaquer</option>' ;
if ( $_POST [ 'v3' ] >= 1 ) $actionsupp .= '<option value="3" selected="selected">Coloniser</option>' ;
if ( $_POST [ 'v5' ] >= 1 ) $actionsupp .= '<option value="4" selected="selected">Recycler</option>' ;
if ( $_POST [ 'v4' ] >= 1 ) $actionsupp .= '<option value="5" selected="selected">Espionner</option>' ;
$template -> assign ( 'actionsupp' , $actionsupp );
// Définition des paramètres de la flotte
$AvaisType = array (); $AvaisVitesseC = array (); $AvaisVitesseL = array (); $AvaisPrepC = array (); $AvaisPrepL = array (); $AvaisChauffe = array (); $AvaisContenu = 0 ;
for ( $i = 1 ; $i <= 12 ; $i ++ ) {
$AvaisType [] = $i ;
$AvaisVitesseC [] = $nomvais_dc [ $i - 1 ];
$AvaisVitesseL [] = $nomvais_dl [ $i - 1 ];
$AvaisContenu += $nomvais_rs [ $i - 1 ] * $_POST [ 'v' . $i ];
$AvaisPrepC [] = $nomvais_pdc [ $i - 1 ] . ' ' ;
$AvaisPrepL [] = $nomvais_pdl [ $i - 1 ] . ' ' ;
$AvaisChauffe [] = $nomvais_cdl [ $i - 1 ] . ' ' ;
}
if ( min ( $AvaisVitesseL ) != 0 ) {
$sess -> values [ 'flvitesse' ] = max ( $AvaisVitesseL );
$sess -> values [ 'flpreparation' ] = max ( $AvaisPrepL );
$sess -> values [ 'flchauffe' ] = max ( $AvaisChauffe );
}
else {
$sess -> values [ 'flvitesse' ] = max ( $AvaisVitesseC );
$sess -> values [ 'flpreparation' ] = max ( $AvaisPrepC );
$sess -> values [ 'flchauffe' ] = 0 ;
}
$sess -> values [ 'fltime' ] = time ();
$sess -> values [ 'flcontenu' ] = $AvaisContenu ;
//On enregistre les modification de la session
$sess -> put ();
$page = 'flotte2' ;
$template -> assign ( 'scripth' , '<script src="js/prototype.js" type="text/javascript"></script>' );
$template -> assign ( 'script' , '<script type="text/javascript">document.getElementById(\'nom\').focus();</script><script src="js/flotte.js" type="text/javascript"></script>' );
2008-11-03 11:00:00 +00:00
$template -> assign ( 'favoris' , '<script type="text/javascript">document.getElementById(\'nom\').focus();</script><script src="js/flotte.js" type="text/javascript"></script>' );
2008-11-17 11:00:00 +00:00
}
elseif ( ! empty ( $_GET [ 'n' ])) {
2008-11-30 11:00:00 +00:00
$idN = ceil ( $_GET [ 'n' ]);
2008-11-04 11:00:00 +00:00
$bdd -> connexion ();
$bdd -> escape ( $idN );
$resultat = $bdd -> unique_query ( " SELECT * FROM $table_flottes WHERE id_user = ' $id_user ' AND id = ' $idN ' " );
2008-11-30 11:00:00 +00:00
if ( isset ( $_GET [ 'a' ]) && isset ( $sess -> values [ 'ret_fleet' ]) && $_GET [ 'a' ] == $sess -> values [ 'ret_fleet' ]) {
//Calcul du temps passé depuis le lancement de la flotte
$tpsDD = time () - $resultat [ 'start_time' ];
if ( $resultat [ 'mission' ] == '6' ) {
$template -> assign ( 'message' , 'Votre flotte est déjà en train de revenir !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte&n=' . $idN . '";\', 1500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
elseif ( $resultat [ 'end_time' ] > $tpsDD ) {
2008-11-16 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_flottes SET mission = '6', effectue = '1', end_time = ' $tpsDD ', end_galaxie = start_galaxie, end_ss = start_ss, end_position = start_position WHERE id_user = ' $id_user ' AND id = ' $idN '; " );
2008-11-30 11:00:00 +00:00
header ( 'Location: ?p=flotte&n=' . $idN );
exit ;
}
else {
$template -> assign ( 'message' , 'Impossible d\'annuler la mission, elle a déjà commencée.' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte&n=' . $idN . '";\', 1500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
}
2008-11-17 11:00:00 +00:00
$page = 'flotten' ;
2008-11-04 11:00:00 +00:00
if ( $bdd -> num_rows <= 0 ) {
2008-11-17 11:00:00 +00:00
$template -> assign ( 'message' , 'Impossible de trouver cette flotte !' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 1500);</script>' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
else {
if ( ! empty ( $_POST [ 'nomflotte' ])) {
2008-11-30 11:00:00 +00:00
$nom = $_POST [ 'nomflotte' ];
2008-11-04 11:00:00 +00:00
$bdd -> escape ( $nom );
$bdd -> unique_query ( " UPDATE $table_flottes SET nom = ' $nom ' WHERE id = ' $idN ' LIMIT 1; " );
2008-11-17 11:00:00 +00:00
$resultat [ 'nom' ] = $nom ;
}
2008-11-04 11:00:00 +00:00
$bdd -> deconnexion ();
2008-11-30 11:00:00 +00:00
$resultat [ 'contenu_metalF' ] = separerNombres ( $resultat [ 'contenu_metal' ]);
$resultat [ 'contenu_cristalF' ] = separerNombres ( $resultat [ 'contenu_cristal' ]);
$resultat [ 'contenu_hydrogeneF' ] = separerNombres ( $resultat [ 'contenu_hydrogene' ]);
$resultat [ 'contenu_maxF' ] = separerNombres ( $resultat [ 'contenu_max' ]);
$resultat [ 'missionF' ] = txtmission ( $resultat [ 'mission' ]);
$resultat [ 'tactiqueAtDef' ] = txtTactique ( $queryUser [ 'combatAT_tactique' ]);
$resultat [ 'tactiqueF' ] = txtTactique ( $resultat [ 'tactiqueAT' ]);
$resultat [ 'end_timeT' ] = $resultat [ 'start_time' ] + $resultat [ 'end_time' ];
$sess -> values [ 'ret_fleet' ] = sha1 ( 'HB.fleet_' . rand () . '☺ß☻' );
$sess -> put ();
$template -> assign ( 'ret_fleet' , $sess -> values [ 'ret_fleet' ]);
2008-11-17 11:00:00 +00:00
$template -> assign ( 'flotte' , $resultat );
$template -> assign ( 'nomvais' , $nomvaisa );
$template -> assign ( 'n' , $idN );
}
}
else {
$page = 'flotte1' ;
2008-11-04 11:00:00 +00:00
$bdd -> connexion ();
$resultat = $bdd -> query ( " SELECT * FROM $table_flottes WHERE id_user = ' $id_user '; " );
$bdd -> deconnexion ();
$nbr = $bdd -> num_rows ;
2008-11-17 11:00:00 +00:00
$TEMP_flottesEC = array ();
for ( $i = 0 ; $i < $nbr ; $i ++ ) {
if ( $resultat [ $i ][ 'mission' ] != 1 && ( $resultat [ $i ][ 'mission' ] != 3 || $resultat [ $i ][ 'effectue' ] == '1' || $resultat [ $i ][ 'nb_vais' ] >= 1 ) && $resultat [ $i ][ 'mission' ] != 0 ) {
$retour = $resultat [ $i ][ 'start_galaxie' ] . ':' . $resultat [ $i ][ 'start_ss' ] . ':' . $resultat [ $i ][ 'start_position' ];
$Hretour = date ( 'd/m H:i:s' , $resultat [ $i ][ 'start_time' ] + 2 * $resultat [ $i ][ 'end_time' ]);
}
elseif ( $resultat [ $i ][ 'mission' ] == 1 ) {
$retour = $resultat [ $i ][ 'start_galaxie' ] . ':' . $resultat [ $i ][ 'start_ss' ] . ':' . $resultat [ $i ][ 'start_position' ];
if ( empty ( $resultat [ $i ][ 'ret_time' ])) $Hretour = '-' ;
else $Hretour = date ( 'd/m H:i:s' , $resultat [ $i ][ 'ret_time' ] + $resultat [ $i ][ 'end_time' ]);
}
else {
$retour = '-' ;
$Hretour = '-' ;
}
$TEMP_flottesEC [] = array ( $resultat [ $i ][ 'id' ], $resultat [ $i ][ 'nom' ], txtmission ( $resultat [ $i ][ 'mission' ]), $resultat [ $i ][ 'nb_vais' ], $resultat [ $i ][ 'end_galaxie' ] . ':' . $resultat [ $i ][ 'end_ss' ] . ':' . $resultat [ $i ][ 'end_position' ], date ( 'd/m H:i:s' , $resultat [ $i ][ 'start_time' ] + $resultat [ $i ][ 'end_time' ]), $retour , $Hretour );
}
$template -> assign ( 'flottesEC' , $TEMP_flottesEC );
$TEMP_vaisseaux = array ();
$j = 0 ;
for ( $i = 1 ; $i <= 12 ; $i ++ ) {
if ( $queryPlanete [ 'vaisseau_' . $i ] > 0 && $i != 11 ) {
$j ++ ;
2008-11-16 11:00:00 +00:00
$TEMP_vaisseaux [] = array ( $nomvaisn [ $i - 1 ], separerNombres ( $queryPlanete [ 'vaisseau_' . $i ]), $queryPlanete [ 'vaisseau_' . $i ], $i );
2008-11-17 11:00:00 +00:00
}
}
$template -> assign ( 'vaisseaux' , $TEMP_vaisseaux );
$trez = $queryUser [ " informatique " ] + 1 ;
if ( $nbr < $trez ) $template -> assign ( 'action' , '<input class="submit" type="submit" value="OK" />' );
2008-11-03 11:00:00 +00:00
else $template -> assign ( 'action' , '<span class="lack">Nombre de flottes maximum simultanées atteint</span>' );
2008-11-17 11:00:00 +00:00
$template -> assign ( 'nbflotte' , $nbr );
$template -> assign ( 'nbflottemax' , $trez );
}
2008-11-30 11:00:00 +00:00
?>