2008-11-17 11:00:00 +00:00
< ? php
if ( ! defined ( 'INDEX' )) { header ( 'Location: ../' ); exit ; }
$titre = 'Flottes' ;
2008-11-19 11:00:00 +00:00
include_once ( _FCORE . " ../game/Class/class.flotte.php " );
2008-11-17 11:00:00 +00:00
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-08 11:00:00 +00:00
$end_galaxie = floor ( gpc ( 'amas' , 'post' ));
$end_ss = floor ( gpc ( 'ss' , 'post' ));
$end_pos = floor ( gpc ( 'pos' , 'post' ));
$mission = floor ( gpc ( 'mission' , 'post' ));
if ( isset ( $_POST [ 'tactique' ])) $tactique = floor ( gpc ( 'tactique' , 'post' ));
2008-11-16 11:00:00 +00:00
else $tactique = 0 ;
2009-11-01 11:00:00 +00:00
$EBmetal = floor ( str_replace ( ' ' , '' , gpc ( 'metal' , 'post' )));
$EBcristal = floor ( str_replace ( ' ' , '' , gpc ( 'cristal' , 'post' )));
$EBhydrogene = floor ( str_replace ( ' ' , '' , gpc ( 'hydrogene' , 'post' )));
2008-11-08 11:00:00 +00:00
$vitesse = floor ( gpc ( 'vitesse' , 'post' )) / 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 );
2008-11-08 11:00:00 +00:00
$resultat = $bdd -> unique_query ( " SELECT COUNT(id) AS cnt FROM $table_flottes WHERE id_user = ' $id_user ' " );
$bdd -> deconnexion ();
$nbr = $resultat [ 'cnt' ];
2008-11-17 11:00:00 +00:00
//Vérification du code anti-bots
2008-11-08 11:00:00 +00:00
/* if ( ! isset ( $sess -> values [ 'flcds' ]) || gpc ( 'cds' , 'post' ) != $sess -> values [ 'flcds' ]) erreur ( '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>.' , " red " , '?p=flotte' , 4000 );
2008-11-17 11:00:00 +00:00
//Si la mission est d'attaquer, on vérifie que les attaques ne soient pas désactivées
2008-11-08 11:00:00 +00:00
else */ if ( $mission == 3 && ! ATTAQUES ) erreur ( '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>.' , " red " , '?p=flotte' , 5000 );
2008-11-17 11:00:00 +00:00
//Vérification que la destination ne soit pas en dehors de la galaxie
2008-11-08 11:00:00 +00:00
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 -> level < 6 )) erreur ( 'La destination de la flotte n\'est pas correcte.' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//Vérification que le nombre de slots ne soit pas dépassé
2008-11-08 11:00:00 +00:00
elseif ( $nbr > ceil ( count ( $queryPlanetes ) / 2 + 1 )) erreur ( 'Vous n\'avez pas assez de slots disponibles.' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//On vérifie la mission
2008-09-20 10:00:00 +00:00
elseif ( $mission < 0 || $mission > 5 ) erreur ( 'Mission incorrecte !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//Si la mission est d'attaquer, on vérifie la tactique
2008-11-08 11:00:00 +00:00
elseif ( $mission == 3 && ! (( $tactique == 1 && $planete -> technologies [ 3 ] & 4096 ) || ( $tactique == 2 && $planete -> technologies [ 3 ] & 8192 ) || ( $tactique == 3 && $planete -> technologies [ 3 ] & 16384 ) || $tactique == 0 )) erreur ( 'Vous ne connaissez pas cette tactique de combat !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//On vérifie la mission, si elle est d'espionner, il faut qu'il y ait des sondes
2008-11-08 11:00:00 +00:00
elseif ( $mission == 5 && $sess -> values [ 'vais' ][ 6 ] <= 0 && $sess -> values [ 'vais' ][ 13 ] <= 0 ) erreur ( 'Vous ne pouvez pas espionner sans sonde d\'espionnage !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//On vérifie la mission, si elle est de coloniser, il faut qu'il y ait des vaisseaux de colonisation
2008-11-08 11:00:00 +00:00
elseif ( $mission == 2 && $sess -> values [ 'vais' ][ 2 ] <= 0 ) erreur ( 'Vous ne pouvez pas coloniser sans vaisseau de colonisation !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//On vérifie la mission, si elle est de recycler, il faut qu'il y ait des reclycleurs
2008-11-08 11:00:00 +00:00
elseif ( $mission == 4 && $sess -> values [ 'vais' ][ 3 ] <= 0 ) erreur ( 'Vous ne pouvez pas recycler sans recycleur !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
//On vérifie que l'on possède assez de ressources
2008-11-19 11:00:00 +00:00
elseif (( ! empty ( $EBmetal ) && ! $EBmetal > $planete -> metal ) || ( ! empty ( $EBcristal ) && ! $EBcristal > $planete -> cristal ) || ( ! empty ( $EBhydrogene ) && ! $EBhydrogene > $planete -> hydrogene )) erreur ( 'Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.' , " red " , '?p=flotte' );
2008-11-04 11:00:00 +00:00
//On vérifie que l'on n'envoie pas des ressources négatives
2008-09-20 10:00:00 +00:00
elseif (( ! empty ( $EBmetal ) && $EBmetal < 0 ) || ( ! empty ( $EBcristal ) && $EBcristal < 0 ) || ( ! empty ( $EBhydrogene ) && $EBhydrogene < 0 )) erreur ( 'Vous avez spécifié des valeurs de ressources à embarquer incorrectes !' , " red " , '?p=flotte' , 4000 );
2008-11-17 11:00:00 +00:00
//On vérifie la vitesse du vaisseau
2008-11-08 11:00:00 +00:00
elseif ( ! is_numeric ( $vitesse ) || $vitesse < 0 || $vitesse > 1 ) erreur ( 'La vitesse de votre flotte est incorrecte !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
else {
2008-09-20 10:00:00 +00:00
//On vérifie qu'il n'y ait pas une interaction entre deux multi-comptes
$cnt = count ( $multi );
2009-11-01 11:00:00 +00:00
if ( $cnt > 1 && $mission == 1 ) {
2008-09-20 10:00:00 +00:00
for ( $i = 0 ; $i < $cnt ; $i ++ ){
if ( $multi [ $i ][ 'id_util' ] == $resultat [ 'id_user' ]) erreur ( 'Vous ne pouvez pas avoir d\'interaction avec ce joueur pour raison de multi-compte (voir page d\'accueil).' );
}
}
2008-11-08 11:00:00 +00:00
$bdd -> connexion ();
$resultat = $bdd -> unique_query ( " SELECT id, id_user, debris_met, debris_cri FROM $table_planete WHERE galaxie = ' $end_galaxie ' AND ss = ' $end_ss ' AND position = ' $end_pos '; " );
$bdd -> deconnexion ();
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
2008-11-08 11:00:00 +00:00
if ( $mission == 3 ) {
2008-11-17 11:00:00 +00:00
//Récupération de l'ID du joueur cible
$rech_user = $resultat [ 'id_user' ];
2008-11-08 11:00:00 +00:00
$bdd -> connexion ();
$resultatu = $bdd -> unique_query ( " SELECT mv, time_inscription FROM $table_user WHERE id = ' $rech_user '; " );
$bdd -> deconnexion ();
if ( $resultatu [ 'mv' ] > 0 ) erreur ( 'Le joueur que vous tentez d\'attaquer est actuellement en mode vacances, vous ne pouvez donc pas l\'attaquer avant son retour de vacances.' , " red " , '?p=flotte' , 3000 ); //TODO Mettre le numéro du mode vacances et non > 0 !!!
2008-09-20 10:00:00 +00:00
elseif ( $resultatu [ 'time_inscription' ] + 604800 > time ()) erreur ( 'Le joueur que vous tentez d\'attaquer s\'est inscrit récemment, laissez-lui le temps de se préparer au combat !' , " red " , '?p=flotte' , 3000 );
elseif ( ! $resultat ) erreur ( 'La planète que vous tentez d\'attaquer est inhabitée.' , " red " , '?p=flotte' );
elseif ( $resultat [ 'id_user' ] == $id_user ) erreur ( 'La planète que vous tentez d\'attaquer vous appartient.' , " red " , '?p=flotte' );
2008-11-16 11:00:00 +00:00
}
2009-11-01 11:00:00 +00:00
elseif ( $mission == 1 && ! $resultat ) erreur ( 'Impossible de transporter des ressources vers la planète [' . $end_galaxie . ':' . $end_ss . ':' . $end_pos . '] car elle est inhabitée.' , " red " , '?p=flotte' , 4000 );
elseif ( $mission == 2 && $resultat ) erreur ( 'La planète que vous voulez coloniser est déjà habitée.' , " red " , '?p=flotte' , 3000 );
2008-09-20 10:00:00 +00:00
elseif ( $mission == 0 && $resultat [ 'id_user' ] != $id_user ) erreur ( 'La planète sur laquelle vous désirez stationner ne vous appartient pas.' , " red " , '?p=flotte' , 3000 );
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 ();
2008-09-20 10:00:00 +00:00
erreur ( '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.' , " orange " );
2008-11-17 11:00:00 +00:00
}
2008-11-19 11:00:00 +00:00
if ( ! isset ( $sess -> values [ 'vais' ]) || ! is_array ( $sess -> values [ 'vais' ])) erreur ( 'Erreur lors de la création de la flotte, absence de données des vaisseaux' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
else {
//Envoie de la flotte
2008-11-08 11:00:00 +00:00
$flotte = new flotte ();
2008-11-19 11:00:00 +00:00
$sauv = $planete -> vaisseaux ; //Sauvegarde du contenu de la flotte avant lancement
$nbVais = 0 ;
foreach ( $sess -> values [ 'vais' ] as $key => $vaisseau ){
if ( $vaisseau > 0 ) {
if ( $vaisseau > $planete -> vaisseaux [ $key ]) erreur ( 'Vous avez envoyé plus de vaisseaux que vous n\'en posséder sur cette planète.' , " red " , '?p=flotte' );
else $nbVais += $vaisseau ;
}
elseif ( $vaisseau < 0 ) $vaisseau = 0 ;
$flotte -> vaisseaux [ $key ] = $vaisseau ;
$sauv [ $key ] -= $vaisseau ;
}
if ( $nbVais <= 0 ) erreur ( 'Vous devez envoyer au moins un vaisseau pour former une flotte !' , " red " , '?p=flotte' );
elseif ( ! isset ( $sess -> values [ 'flnbvais' ]) || $sess -> values [ 'flnbvais' ] != $nbVais ) erreur ( '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="mailto:' . $config [ 'mailadmin' ] . '">contactez un administrateur</a>.' , " red " , '?p=flotte' , 4500 );
2008-11-08 11:00:00 +00:00
$flotte -> nom = gpc ( 'nomflotte' , 'post' );
$flotte -> mission = $mission ;
$flotte -> start_planete = $planete ;
$flotte -> start_time = time ();
2009-11-01 11:00:00 +00:00
//On traite le cas des planètes qui n'existent pas (dans le cas de la mission colonisation)
if ( $mission == 2 ) $flotte -> end_planete = $end_galaxie . ':' . $end_ss . ':' . $end_pos ;
else $flotte -> end_planete = $resultat [ 'id' ];
2008-11-19 11:00:00 +00:00
$calc = $flotte -> calc_deplacement ( $planete -> galaxie , $planete -> ss , $planete -> position , $end_galaxie , $end_ss , $end_pos , $vitesse , false , true );
2008-11-08 11:00:00 +00:00
$flotte -> end_time = $calc [ 0 ];
$conso = $calc [ 1 ];
//On double la consomation si on fait un aller-retour
2009-11-01 11:00:00 +00:00
if ( $mission == 1 || $mission == 2 || $mission == 4 || $mission == 5 ) $conso *= 2 ;
2008-11-08 11:00:00 +00:00
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie ainsi que de ressources sur la planète
$flotte -> calculer ();
2009-11-01 11:00:00 +00:00
if ( $flotte -> contenuMax < $EBmetal + $EBcristal + $EBhydrogene + $conso ) erreur ( 'Vous ne pouvez pas embarquer autant de ressources, les cales débordent. ' . $flotte -> contenuMax , " red " , '?p=flotte' , 3500 );
elseif ( $planete -> metal < $EBmetal || $planete -> cristal < $EBcristal || $planete -> hydrogene < $EBhydrogene + $conso ) erreur ( 'Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.' , " red " , '?p=flotte' , 3500 );
2008-11-17 11:00:00 +00:00
else {
2009-11-01 11:00:00 +00:00
//if ($mission == 3) $flotte->tactique = gpc('tactique', 'post');
$flotte -> contenu = array ( $EBmetal , $EBcristal , $EBhydrogene );
2008-11-19 11:00:00 +00:00
$flotte -> modifFlotte = " INSERT " ;
//On actualise la planète
2009-11-01 11:00:00 +00:00
$planete -> metal -= $EBmetal ;
$planete -> cristal -= $EBcristal ;
$planete -> hydrogene -= floor ( $EBhydrogene + $conso );
2008-11-19 11:00:00 +00:00
$planete -> vaisseaux = $sauv ;
if ( ! in_array ( 'vaisseaux' , $planete -> modif )) $planete -> modif [] = 'vaisseaux' ;
2008-11-17 11:00:00 +00:00
2009-11-01 11:00:00 +00:00
unset ( $flotte );
2008-11-17 11:00:00 +00:00
unset ( $sess -> values [ 'vais' ]);
$sess -> put ();
2008-09-20 10:00:00 +00:00
erreur ( 'Votre flotte a été envoyée avec succès.' , " green " , '?p=flotte' , 4000 );
2008-11-17 11:00:00 +00:00
}
}
}
}
2008-11-08 11:00:00 +00:00
elseif ( ! empty ( $_POST [ 'v0' ]) || ! 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' ]) || ! empty ( $_POST [ 'v13' ])) {
2008-11-17 11:00:00 +00:00
$nombreVaisseau = 0 ;
2008-11-08 11:00:00 +00:00
foreach ( $planete -> vaisseaux as $key => $vaisseau ){
$v = gpc ( 'v' . $key , 'post' );
if ( ! is_numeric ( $v )) $v = 0 ;
else $v = ( int ) abs ( $v );
if ( $vaisseau < $v ) {
erreur ( 'Il ne vous reste plus assez de vaisseaux !' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
}
2008-11-08 11:00:00 +00:00
$sess -> values [ 'vais' ][ $key ] = $v ;
$nombreVaisseau += $v ;
}
2008-11-17 11:00:00 +00:00
//On vérifie que l'utilisateur a bien envoyé plus d'un vaisseau
2008-09-20 10:00:00 +00:00
if ( $nombreVaisseau <= 0 ) erreur ( 'Vous devez envoyer au moins un vaisseau.' , " red " , '?p=flotte' );
2008-11-17 11:00:00 +00:00
2008-11-08 11:00:00 +00:00
//On enregistre les paramètres en session
$sess -> values [ 'flnbvais' ] = $nombreVaisseau ;
$sess -> values [ 'forceFlotte' ] = false ;
2008-11-17 11:00:00 +00:00
2008-11-08 11:00:00 +00:00
//Génération de la liste de mission possible avec les vaisseaux de la flotte
2009-11-01 11:00:00 +00:00
$missions = array ( " Stationner " , " Transporter " );
2008-11-08 11:00:00 +00:00
if ( $sess -> values [ 'vais' ][ 2 ]) $missions [ 2 ] = " Coloniser " ;
if ( $planete -> technologies [ 7 ] & 16 ) $missions [ 3 ] = " Attaquer " ;
if ( $sess -> values [ 'vais' ][ 3 ]) $missions [ 4 ] = " Recycler " ;
2009-11-01 11:00:00 +00:00
if ( $sess -> values [ 'vais' ][ 4 ] || $sess -> values [ 'vais' ][ 13 ]) $missions [ 5 ] = " Espionner " ;
2008-11-08 11:00:00 +00:00
$template -> assign ( 'missions' , $missions );
2008-11-17 11:00:00 +00:00
//On enregistre les modification de la session
2008-11-08 11:00:00 +00:00
$sess -> values [ 'fltime' ] = time ();
2008-11-17 11:00:00 +00:00
$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-30 11:00:00 +00:00
2008-11-08 11:00:00 +00:00
//TODO Ajouter les destinations favorites + Colonies
2009-11-01 11:00:00 +00:00
$favoris = array ();
$favorisC = array ();
include_once ( _FCORE . " ../game/Class/class.tinyplanete.php " );
foreach ( $planete -> destinationsFavoris as $fav )
{
$fav_Planete = new TinyPlanete ( $fav );
if ( ! empty ( $fav_Planete -> nom_planete )) $favoris [ $fav_Planete -> id ] = $fav_Planete -> nom_planete ;
else $favoris [ $fav_Planete -> id ] = '[' . $fav_Planete -> galaxie . ':' . $fav_Planete -> ss . ':' . $fav_Planete -> position . ']' ;
}
foreach ( $queryPlanetes as $fav )
{
if ( ! empty ( $fav [ 'nom_planete' ])) $favorisC [ $fav [ 'id' ]] = $fav [ 'nom_planete' ];
else $favorisC [ $fav [ 'id' ]] = '[' . $fav [ 'galaxie' ] . ':' . $fav [ 'ss' ] . ':' . $fav [ 'position' ] . ']' ;
}
$template -> assign ( 'favoris' , $favoris );
$template -> assign ( 'favorisColonies' , $favorisC );
2008-11-17 11:00:00 +00:00
}
2008-11-19 11:00:00 +00:00
//Affichage du détail d'une flotte
elseif ( ! empty ( $_GET [ 'n' ])) {
$idN = ceil ( gpc ( 'n' ));
$flotteN = new Flotte ( $idN );
$flotteN -> load_planete ();
if ( $flotteN -> id_flotte == 0 || $flotteN -> start_planete -> id_user != $planete -> id_user ) erreur ( 'Impossible de trouver cette flotte !' , " red " , '?p=flotte' , 1500 );
else {
//Annulation de la mission
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 () - $flotteN -> start_time ;
if ( $flotteN -> mission == '6' ) erreur ( 'Votre flotte est déjà en train de revenir !' , 'red' , '?p=flotte&n=' . $idN , 1500 );
elseif ( $flotteN -> end_time > $tpsDD ) {
$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 '; " );
header ( 'Location: ?p=flotte&n=' . $idN );
exit ;
}
else erreur ( 'Impossible d\'annuler la mission, elle a déjà commencée.' , " red " , '?p=flotte&n=' . $idN , 1500 );
}
$sess -> values [ 'ret_fleet' ] = sha1 ( 'HB.fleet_' . rand () . '☺ß☻' );
$sess -> put ();
$template -> assign ( 'ret_fleet' , $sess -> values [ 'ret_fleet' ]);
$template -> assign ( 'flotte' , $flotteN );
$template -> assign ( 'nomvais' , $nomvaisa );
$page = 'flotten' ;
}
}
2008-11-08 11:00:00 +00:00
//Affichage de la page générale
2008-11-17 11:00:00 +00:00
else {
2008-09-20 10:00:00 +00:00
//Mise à jour des tactiques par défaut
$attaque = gpc ( 'attaque' , 'post' );
$defense = gpc ( 'defense' , 'post' );
2008-11-08 11:00:00 +00:00
if ( is_numeric ( $attaque ) && is_numeric ( $defense )) {
$chang = false ;
if (( $attaque != $planete -> combatAT_tactique ) && (( $attaque == 1 && $planete -> technologies [ 3 ] & 4096 ) || ( $attaque == 2 && $planete -> technologies [ 3 ] & 8192 ) || ( $attaque == 3 && $planete -> technologies [ 3 ] & 16384 ) || $attaque == 0 )) {
$planete -> combatAT_tactique = $attaque ;
if ( ! in_array ( 'combatAT_tactique' , $planete -> modifUser )) $planete -> modifUser [] = 'combatAT_tactique' ;
$chang = true ;
2008-09-20 10:00:00 +00:00
}
2008-11-08 11:00:00 +00:00
if (( $defense != $planete -> combatDE_tactique ) && (( $defense == 1 && $planete -> technologies [ 3 ] & 4096 ) || ( $defense == 2 && $planete -> technologies [ 3 ] & 8192 ) || ( $defense == 3 && $planete -> technologies [ 3 ] & 16384 ) || $defense == 0 )) {
$planete -> combatDE_tactique = $defense ;
if ( ! in_array ( 'combatDE_tactique' , $planete -> modifUser )) $planete -> modifUser [] = 'combatDE_tactique' ;
$chang = true ;
}
if ( $chang ) erreur ( 'Tactiques mises à jour avec succès.' , 'green' , '?p=flotte' , 1100 );
2008-09-20 10:00:00 +00:00
}
2008-11-08 11:00:00 +00:00
//Affichage des flottes en cours dans la galaxie
2008-11-04 11:00:00 +00:00
$bdd -> connexion ();
2008-11-08 11:00:00 +00:00
$flottes = $bdd -> query ( " SELECT * FROM $table_flottes WHERE id_user = ' $id_user '; " );
2008-11-04 11:00:00 +00:00
$bdd -> deconnexion ();
$nbr = $bdd -> num_rows ;
2008-11-08 11:00:00 +00:00
2008-11-17 11:00:00 +00:00
$TEMP_flottesEC = array ();
2008-11-08 11:00:00 +00:00
if ( $flottes ) {
foreach ( $flottes as $flotte ){
2009-11-01 11:00:00 +00:00
if ( $flotte [ 'mission' ] != 1 && ( $flotte [ 'mission' ] != 2 || $flotte [ 'statut' ] == '1' ) && $flotte [ 'mission' ] != 0 ) {
$planete_retour = new Planete ( $flotte [ 'start_planete' ]);
$retour = $planete_retour -> galaxie . ':' . $planete_retour -> ss . ':' . $planete_retour -> position ;
2008-11-08 11:00:00 +00:00
$Hretour = date ( 'd/m H:i:s' , $flotte [ 'start_time' ] + 2 * $flotte [ 'end_time' ]);
}
2009-11-01 11:00:00 +00:00
/* elseif ( $flotte [ 'mission' ] == 1 ) {
2008-11-08 11:00:00 +00:00
$retour = $flotte [ 'start_galaxie' ] . ':' . $flotte [ 'start_ss' ] . ':' . $flotte [ 'start_position' ];
if ( empty ( $flotte [ 'ret_time' ])) $Hretour = '-' ;
else $Hretour = date ( 'd/m H:i:s' , $flotte [ 'ret_time' ] + $flotte [ 'end_time' ]);
2009-11-01 11:00:00 +00:00
} */
2008-11-08 11:00:00 +00:00
else {
$retour = '-' ;
$Hretour = '-' ;
}
2008-11-19 11:00:00 +00:00
$end_planete = new Planete ( $flotte [ 'end_planete' ]);
2009-11-01 11:00:00 +00:00
if ( $flotte [ 'mission' ] == 2 ) {
preg_match ( '#^\[?([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})\]?$#' , $flotte [ 'end_planete' ], $position );
$TEMP_flottesEC [] = array ( $flotte [ 'id' ], $flotte [ 'nom' ], txtmission ( $flotte [ 'mission' ]), $flotte [ 'nb_vais' ], ' [' . $position [ 1 ] . ':' . $position [ 2 ] . ':' . $position [ 3 ] . ']' , date ( 'd/m H:i:s' , $flotte [ 'start_time' ] + $flotte [ 'end_time' ]), $retour , $Hretour );
}
else $TEMP_flottesEC [] = array ( $flotte [ 'id' ], $flotte [ 'nom' ], txtmission ( $flotte [ 'mission' ]), $flotte [ 'nb_vais' ], $end_planete -> nom_planete . ' [' . $end_planete -> galaxie . ':' . $end_planete -> ss . ':' . $end_planete -> position . ']' , date ( 'd/m H:i:s' , $flotte [ 'start_time' ] + $flotte [ 'end_time' ]), $retour , $Hretour );
2008-11-17 11:00:00 +00:00
}
}
$template -> assign ( 'flottesEC' , $TEMP_flottesEC );
2008-11-08 11:00:00 +00:00
//Affichage des vaisseaux disponible à l'envoie
2008-11-17 11:00:00 +00:00
$TEMP_vaisseaux = array ();
2008-11-08 11:00:00 +00:00
foreach ( $planete -> vaisseaux as $key => $vaisseau ){
//On affiche uniquement les vaisseaux que l'on possède hormis la station spatiale
if ( $vaisseau > 0 ) $TEMP_vaisseaux [] = array ( $nomvaisn [ $key ], separerNombres ( $vaisseau ), $vaisseau , $key );
2008-11-17 11:00:00 +00:00
}
$template -> assign ( 'vaisseaux' , $TEMP_vaisseaux );
2008-11-08 11:00:00 +00:00
//Calcul du nombre de slot disponible et vérouillage de l'envoie si besoin
if ( $nbr <= ceil ( count ( $queryPlanetes ) / 2 + 1 )) $template -> assign ( 'action' , '<input class="submit" type="submit" value="OK" />' );
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 );
2008-11-08 11:00:00 +00:00
$template -> assign ( 'nbflottemax' , ceil ( count ( $queryPlanetes ) / 2 + 1 ));
2008-09-20 10:00:00 +00:00
//Modification des tactiques
2008-11-08 11:00:00 +00:00
$tactiques = array ( '1' );
2008-09-20 10:00:00 +00:00
$attaqueT = 0 ;
$defenseT = 0 ;
2008-11-08 11:00:00 +00:00
if ( $planete -> technologies [ 3 ] & 4096 ) $tactiques [] = '2' ;
if ( $planete -> technologies [ 3 ] & 8192 ) $tactiques [] = '3' ;
if ( $planete -> technologies [ 3 ] & 16384 ) $tactiques [] = '4' ;
2008-09-20 10:00:00 +00:00
$template -> assign ( 'tactiques' , $tactiques );
2008-11-08 11:00:00 +00:00
$page = 'flotte1' ;
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
?>