2008-11-17 11:00:00 +00:00
< ? php
set_time_limit ( 0 );
/* ! ATTENTION ! NE PAS FAIRE DE REFERENCE A UNE DONNEE DU FICHIER BDD . PHP OU
* DE L 'UTILISATEUR COURANT CAR LE SCRIPT EST LANCE PAR L' ATTAQUANT ET PAR
* L ' ATTAQUé .
*/
require_once ( 'Class/class.rapport.php' );
function resteVaisseau ( $tableau ){
$ct = count ( $tableau );
for ( $i = 0 ; $i < $ct ; $i ++ ) {
if ( ! empty ( $tableau [ $i ])) return true ;
}
return false ;
}
$Hgalaxie = $queryPlanete [ " galaxie " ];
$Hss = $queryPlanete [ " ss " ];
$Hposition = $queryPlanete [ " position " ];
2008-11-30 11:00:00 +00:00
$queryFlottes = $chapeau -> query ( " SELECT * FROM ` $table_flottes ` WHERE `id_user` = ' $id_user ' OR (`end_galaxie` = ' $Hgalaxie ' AND `end_ss` = ' $Hss ' AND `end_position` = ' $Hposition ') " );
$nbFlottes = $chapeau -> num_rows ;
for ( $i = 0 ; $i < $nbFlottes ; $i ++ ) {
//Récupération des principales variables de la flotte
$id_user = $queryFlottes [ $i ][ 'id_user' ];
$id_flotte = $queryFlottes [ $i ][ 'id' ];
$mission = $queryFlottes [ $i ][ 'mission' ];
$end_galaxie = $queryFlottes [ $i ][ 'end_galaxie' ];
$end_ss = $queryFlottes [ $i ][ 'end_ss' ];
$end_position = $queryFlottes [ $i ][ 'end_position' ];
$temps = $queryFlottes [ $i ][ 'start_time' ] + $queryFlottes [ $i ][ 'end_time' ];
//La flotte est prête a effectuer une action
if ( $queryFlottes [ $i ][ 'effectue' ] != 1 && time () >= $queryFlottes [ $i ][ 'start_time' ] + $queryFlottes [ $i ][ 'end_time' ] && ! empty ( $queryFlottes [ $i ][ 'end_time' ])) {
2008-11-17 11:00:00 +00:00
//Mission attaquer
if ( $mission == 1 ) {
require_once ( 'Class/class.combat.php' );
2008-11-30 11:00:00 +00:00
//Chargement des données du joueur attaqué : EN...
$planeteEN = $chapeau -> unique_query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
$ENidPlan = $planeteEN [ 'id' ];
2008-11-17 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
//Le combat existe déjà, la flotte était placée en attente
if ( $queryFlottes [ $i ][ 'effectue' ] == 2 ) {
//Recherche de la flotte
$resultatC = $chapeau -> unique_query ( " SELECT * FROM ` $table_flottes_combats ` WHERE `refflotte` = ' $id_flotte '; " );
//La flotte n'a pas été trouvée dans la BDD : impossible
if ( ! $resultatC ) die ( 'Erreur dans le script de combat, <a href="mailto:admin@halo-battle.s-fr.com">contactez d\'urgence un administrateur</a> !' );
//Il est temps de passer au tour suivant !
2008-11-17 11:00:00 +00:00
if ( time () >= $resultatC [ 'timestamp' ]) {
//On récupère le combat
$combat = unserialize ( $resultatC [ 'serialize' ]);
2008-11-30 11:00:00 +00:00
//On prépare les rapports de combats
$rapport = new Rapport ( $mission , $queryFlottes [ $i ][ 'id_user' ], $planeteEN [ 'id_user' ], $combat -> timestamp );
2008-11-17 11:00:00 +00:00
//Mise à jour des tactiques
if ( ! empty ( $resultatC [ 'tactiqueAT' ])) $combat -> changerTactiqueAT ( $resultatC [ 'tactiqueAT' ]);
if ( ! empty ( $resultatC [ 'tactiqueEN' ])) $combat -> changerTactiqueEN ( $resultatC [ 'tactiqueEN' ]);
while ( $combat -> timestamp <= time ()) {
//On passe le tour
$combat -> Ntour ++ ;
2008-11-30 11:00:00 +00:00
$rapport -> addInfo ( $combat -> ATvais , 0 );
$rapport -> addInfo ( $combat -> ENvais , 1 );
$rapport -> addInfo ( $combat -> ENdef , 2 );
$rapport -> addInfo ( $combat -> Ntour , 3 );
$rapport -> addInfo ( $planeteEN , 4 );
$rapport -> addInfo ( $queryFlottes [ $i ], 5 );
2008-11-17 11:00:00 +00:00
//Détermine qui est le tour : attaquant ou défenseur
if ( floor ( $combat -> Ntour / 2 ) == $combat -> Ntour / 2 ) { //Le tour est paire : tour attaquant
$arraytactique = tactique ( $combat -> ATtactique );
if ( @ $combat -> attaquerVais ( $combat -> calcAttaque ( $arraytactique [ 2 ] + $combat -> regenereBC ( $arraytactique [ 1 ], true , ! $arraytactique [ 3 ]), true ), true ) == 0 ) { //Attaquant vainceur
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " DELETE FROM ` $table_flottes_combats ` WHERE `refflotte` = ' $id_flotte ' " );
$chapeau -> query ( " UPDATE ` $table_flottes ` SET " . $combat -> exportAT ( true ) . " , `effectue` = '1', `ret_time` = " . $combat -> timestamp . " WHERE `id` = ' $id_flotte '; " );
$chapeau -> query ( " UPDATE ` $table_planete ` SET " . $combat -> exportEN () . " , `metal` = `metal` - ' " . $combat -> vaisContenuM . " ', `cristal` = `cristal` - ' " . $combat -> vaisContenuC . " ', `hydrogene` = `hydrogene` - ' " . $combat -> vaisContenuH . " ' WHERE `id` = ' $ENidPlan '; " );
$rapport -> addInfo ( array ( true , true ), 6 );
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
else $rapport -> addInfo ( array ( false , false ), 6 );
$rapport -> addInfo ( $combat -> ATvais , 7 );
$rapport -> addInfo ( $combat -> ENvais , 8 );
$rapport -> addInfo ( $combat -> ENdef , 9 );
2008-11-17 11:00:00 +00:00
}
else { //Le tour est impaire : tour défenseur
$arraytactique = tactique ( $combat -> ENtactique );
if ( @ $combat -> attaquerVais ( $combat -> calcAttaque ( $arraytactique [ 2 ] + $combat -> regenereBC ( $arraytactique [ 1 ], false , ! $arraytactique [ 3 ]), false ), false ) == 0 ) { //Défenseur vainceur
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " DELETE FROM ` $table_flottes_combats ` WHERE `refflotte` = ' $id_flotte '; " );
$chapeau -> query ( " DELETE FROM ` $table_flottes ` WHERE `id` = ' $id_flotte ' " );
$chapeau -> query ( " UPDATE ` $table_planete ` SET " . $combat -> exportEN () . " WHERE `id` = ' $ENidPlan '; " );
$rapport -> addInfo ( array ( true , false ), 6 );
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
else $rapport -> addInfo ( array ( false , false ), 6 );
2008-11-17 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
$rapport -> addInfo ( $combat -> ATvais , 7 );
$rapport -> addInfo ( $combat -> ENvais , 8 );
$rapport -> addInfo ( $combat -> ENdef , 9 );
}
2008-11-17 11:00:00 +00:00
//Prévision du prochain tour
$combat -> timestamp += 300 ;
2008-11-30 11:00:00 +00:00
$rapport -> addInfo ( $combat -> timestamp , 10 );
$rapport -> addInfo ( array ( $combat -> vaisContenuM , $combat -> vaisContenuC , $combat -> vaisContenuH ), 11 );
//On envoie les rapports aux joueurs concernés
$rapport -> send ();
2008-11-17 11:00:00 +00:00
}
$timestamp_suite = $combat -> timestamp ;
2008-11-30 11:00:00 +00:00
$debriM = $combat -> debriM + $planeteEN [ 'debris_met' ];
$debriC = $combat -> debriC + $planeteEN [ 'debris_cri' ];
2008-11-17 11:00:00 +00:00
$combat -> debriM = 0 ;
$combat -> debriC = 0 ;
//On sérialise la classe pour l'exporter
$serialise = serialize ( $combat );
//On enregistre le combat dans la base de données
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " UPDATE ` $table_flottes_combats ` SET `serialize` = ' $serialise ', `tactiqueAT` = '0', `tactiqueEN` = '0', `timestamp` = ' $timestamp_suite ' WHERE `refflotte` = ' $id_flotte ' " );
$chapeau -> query ( " UPDATE ` $table_planete ` SET `debris_met` = ' $debriM ', `debris_cri` = ' $debriC ' WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
2008-11-17 11:00:00 +00:00
}
}
else {
//On trouve les variables nécessaire pour le combat : vaisseaux, défenses, ...
2008-11-30 11:00:00 +00:00
$resultatDef = $chapeau -> unique_query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
2008-11-17 11:00:00 +00:00
//On déclare le combat
2008-11-30 11:00:00 +00:00
$combat = new Combat ( $queryFlottes [ $i ], $resultatDef , $resultatDef );
//On prépare les rapports de combats
$rapport = new Rapport ( $mission , $queryFlottes [ $i ][ 'id_user' ], $planeteEN [ 'id_user' ], $combat -> timestamp );
2008-11-17 11:00:00 +00:00
//Définition des tactiques par défaut pour les deux combatants
2008-11-30 11:00:00 +00:00
$resultatU = $chapeau -> unique_query ( " SELECT `combatAT_tactique` FROM ` $table_user ` WHERE `id` = ' " . $queryFlottes [ $i ][ 'id_user' ] . " ' " );
if ( empty ( $queryFlottes [ $i ][ 'tactiqueAT' ])) $combat -> changerTactiqueAT ( $resultatU [ 'combatAT_tactique' ]);
else $combat -> changerTactiqueAT ( $queryFlottes [ $i ][ 'tactiqueAT' ]);
2008-11-17 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
$resultatU = $chapeau -> query ( " SELECT combatDE_tactique FROM ` $table_user ` WHERE `id` = ' " . $resultatDef [ 'id_user' ] . " ' " );
if ( empty ( $queryFlottes [ $i ][ 'tactiqueEN' ])) $combat -> changerTactiqueEN ( $resultatU [ 'combatDE_tactique' ]);
else $combat -> changerTactiqueEN ( $queryFlottes [ $i ][ 'tactiqueEN' ]);
2008-11-17 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
$rapport -> addInfo ( $combat -> ATvais , 0 );
$rapport -> addInfo ( $combat -> ENvais , 1 );
$rapport -> addInfo ( $combat -> ENdef , 2 );
$rapport -> addInfo ( $combat -> Ntour , 3 );
$rapport -> addInfo ( $resultatDef , 4 );
$rapport -> addInfo ( $queryFlottes [ $i ], 5 );
2008-11-17 11:00:00 +00:00
//Lancement de l'attaque
if ( @ $combat -> attaquerVais ( $combat -> calcAttaque ( 100 , true ), true ) == 0 ) { //Attaquant vainceur
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " DELETE FROM ` $table_flottes_combats ` WHERE `refflotte` = ' $id_flotte ' " );
$chapeau -> query ( " UPDATE ` $table_flottes ` SET " . $combat -> exportAT ( true ) . " , `effectue` = '1', `ret_time` = " . $combat -> timestamp . " WHERE `id` = ' $id_flotte ' " );
$chapeau -> query ( " UPDATE ` $table_planete ` SET " . $combat -> exportEN () . " , `metal` = `metal` - ' " . $combat -> vaisContenuM . " ', `cristal` = `cristal` - ' " . $combat -> vaisContenuC . " ', `hydrogene` = `hydrogene` - ' " . $combat -> vaisContenuH . " ' WHERE `id` = ' $ENidPlan '; " );
$rapport -> addInfo ( array ( true , true ), 6 );
$effect = false ;
}
else {
$rapport -> addInfo ( array ( false , false ), 6 );
$effect = true ;
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
$rapport -> addInfo ( $combat -> ATvais , 7 );
$rapport -> addInfo ( $combat -> ENvais , 8 );
$rapport -> addInfo ( $combat -> ENdef , 9 );
2008-11-17 11:00:00 +00:00
//Prévision du prochain tour
$combat -> timestamp += 300 ;
$timestamp_suite = $combat -> timestamp ;
2008-11-30 11:00:00 +00:00
$rapport -> addInfo ( $combat -> timestamp , 10 );
$rapport -> addInfo ( array ( $combat -> vaisContenuM , $combat -> vaisContenuC , $combat -> vaisContenuH ), 11 );
2008-11-17 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
$debriM = $combat -> debriM + $planeteEN [ 'debris_met' ];
$debriC = $combat -> debriC + $planeteEN [ 'debris_cri' ];
2008-11-17 11:00:00 +00:00
$combat -> debriM = 0 ;
$combat -> debriC = 0 ;
//On sérialise la classe pour l'exporter
$serialise = serialize ( $combat );
2008-11-30 11:00:00 +00:00
//On envoie les rapports aux joueurs concernés
$rapport -> send ();
2008-11-17 11:00:00 +00:00
//On enregistre le combat dans la base de données
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " INSERT INTO ` $table_flottes_combats ` VALUES(NULL, ' " . $queryFlottes [ $i ][ 'id' ] . " ', ' $timestamp_suite ', ' $serialise ', '0', '0'); " );
if ( $effect ) $chapeau -> query ( " UPDATE ` $table_flottes ` SET `effectue` = '2' WHERE `id` = ' $id_flotte '; " );
$chapeau -> query ( " UPDATE ` $table_planete ` SET `debris_met` = ' $debriM ', `debris_cri` = ' $debriC ' WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position '; " );
2008-11-17 11:00:00 +00:00
}
}
//Mission Transporter
elseif ( $mission == 2 ) {
2008-11-30 11:00:00 +00:00
$planeteEN = $chapeau -> unique_query ( " SELECT `metal`, `cristal`, `hydrogene` FROM ` $table_planete ` WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
$Cmetal = $queryFlottes [ $i ][ 'contenu_metal' ] + $resultatT [ 'metal' ];
$Ccristal = $queryFlottes [ $i ][ 'contenu_cristal' ] + $planeteEN [ 'cristal' ];
$Chydrogene = $queryFlottes [ $i ][ 'contenu_hydrogene' ] + $planeteEN [ 'hydrogene' ];
$chapeau -> query ( " UPDATE ` $table_planete ` SET `metal` = ' $Cmetal ', `cristal` = ' $Ccristal ', `hydrogene` = ' $Chydrogene ' WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
$chapeau -> query ( " UPDATE ` $table_flottes ` SET `effectue` = '1', `contenu_metal` = '0', `contenu_cristal` = '0', `contenu_hydrogene` = '0' WHERE `id` = ' $id_flotte ' " );
$message = mysql_real_escape_string ( 'Vos vaisseaux ont déposés ' . $queryFlottes [ $i ][ 'contenu_metal' ] . ' de métal, ' . $queryFlottes [ $i ][ 'contenu_cristal' ] . ' de cristal et ' . $queryFlottes [ $i ][ 'contenu_hydrogene' ] . ' d\'hydrogène aux coordonnées ' . $end_galaxie . ':' . $end_ss . ':' . $end_position );
$chapeau -> query ( " INSERT INTO ` $table_mail ` VALUES('', '1', ' " . trouvNom ( $queryFlottes [ $i ][ 'id_user' ]) . " ', '', 'Transport', ' $message ', ' $temps ') " );
2008-11-17 11:00:00 +00:00
}
//Mission Coloniser
elseif ( $mission == 3 ) {
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
2008-11-17 11:00:00 +00:00
if ( ! $chapeau -> num_rows > 0 ) {
$time = time ();
$cases = mt_rand ( 125 , 222 );
$image = mt_rand ( 1 , 15 );
2008-11-30 11:00:00 +00:00
$Cmetal = $queryFlottes [ $i ][ 'contenu_metal' ] + 1000 ;
$Ccristal = $queryFlottes [ $i ][ 'contenu_cristal' ] + 700 ;
$Chydrogene = $queryFlottes [ $i ][ 'contenu_hydrogene' ];
2008-11-17 11:00:00 +00:00
//Calcul de l'isolement
$nbPlan = count ( $queryPlanetes );
switch ( $nbPlan ){
case 11 : $tps = 2 ; break ;
case 12 : $tps = 4 ; break ;
case 13 : $tps = 6 ; break ;
case 14 : $tps = 8 ; break ;
case 15 : $tps = 12 ; break ;
case 16 : $tps = 16 ; break ;
case 17 : $tps = 20 ; break ;
default : $tps = 24 ;
}
$debut = mktime ( rand ( 0 , 24 - $tps ), 0 , 0 , date ( 'n' ), date ( 'j' ), date ( 'Y' ));
$fin = $debut + $tps * 3600 ;
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " INSERT INTO ` $table_planete ` (`id_user`, `isolement`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`, `hydrogene`) VALUES (' $queryFlottes[$i] ['id_user']', ' $debut $fin ', 'Planète colonisée', ' $end_galaxie ', ' $end_ss ', ' $end_position ', ' $image ', ' $cases ', ' $time ', ' $Cmetal ', ' $Ccristal ', ' $Chydrogene ') " );
2008-11-17 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
if ( $queryFlottes [ $i ][ 'nb_vais' ] == 1 ) {
$queryFlottes [ $i ][ 'nb_vais' ] = - 1 ;
$chapeau -> query ( " DELETE FROM ` $table_flottes ` WHERE `id` = ' $id_flotte ' " );
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
else $chapeau -> query ( " UPDATE ` $table_flottes ` SET `effectue` = '1', `vaisseau_3` = `vaisseau_3` - 1, `nb_vais` = `nb_vais` - 1, `contenu_metal` = '0', `contenu_cristal` = '0', `contenu_hydrogene` = '0' WHERE `id` = ' $id_flotte ' " );
2008-11-17 11:00:00 +00:00
$message = 'Votre vaisseau a atteint la planète [' . $end_galaxie . ':' . $end_ss . ':' . $end_position . '] et commence la colonisation' ;
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " INSERT INTO ` $table_mail ` VALUES('', '1', ' " . trouvNom ( $queryFlottes [ $i ][ 'id_user' ]) . " ', '', 'Colonisation', ' $message ', ' $temps ') " );
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
else $chapeau -> query ( " INSERT INTO ` $table_mail ` VALUES('', '1', ' " . trouvNom ( $queryFlottes [ $i ][ 'id_user' ]) . " ', '', 'Colonisation', 'Nous n''avons pas pu coloniser la planète [ $end_galaxie : $end_ss : $end_position ] car lorsque nous sommes arrivé sur place, elle était déjà colonisée.', ' $temps ') " );
2008-11-17 11:00:00 +00:00
}
//Mission Recycler
elseif ( $mission == 4 ) {
2008-11-30 11:00:00 +00:00
$resultatT = $chapeau -> unique_query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
2008-11-17 11:00:00 +00:00
if ( $resultatT ) {
2008-11-30 11:00:00 +00:00
$queryFlottes [ $i ][ 'contenu_max' ] -= ( vais_conso ( $queryFlottes [ $i ][ 'end_time' ], count ( $queryFlottes [ $i ][ 'nb_vais' ])) * $queryFlottes [ $i ][ 'vitesse' ] * 5 ) + $queryFlottes [ $i ][ 'contenu_metal' ] + $queryFlottes [ $i ][ 'contenu_cristal' ] + $queryFlottes [ $i ][ 'contenu_hydrogene' ];
2008-11-17 11:00:00 +00:00
$debris_met = $resultatT [ 'debris_met' ];
$debris_cri = $resultatT [ 'debris_cri' ];
2008-11-30 11:00:00 +00:00
$capacite = $queryFlottes [ $i ][ 'contenu_max' ];
2008-11-17 11:00:00 +00:00
if ( $debris_met + $debris_cri > $capacite ) {
$a = floor ( $capacite / 2 );
$b = floor ( $capacite / 2 );
if ( $a > $debris_met && $b > $debris_cri ) {
$a = $debris_met ;
$b = $debris_cri ;
}
else if ( $a > $debris_met ) {
$a = $debris_met ;
$b = ( $capacite - $a );
if ( $b > $debris_cri ) $b = $debris_cri ;
}
else if ( $b > $debris_cri ) {
$b = $debris_cri ;
$a = ( $capacite - $b );
if ( $a > $debris_met ) $a = $debris_met ;
}
}
else {
$a = $debris_met ;
$b = $debris_cri ;
}
2008-11-30 11:00:00 +00:00
$Cmetal = $a + $queryFlottes [ $i ][ 'contenu_metal' ];
$Ccristal = $b + $queryFlottes [ $i ][ 'contenu_cristal' ];
2008-11-17 11:00:00 +00:00
$debris_met -= $a ;
$debris_cri -= $b ;
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " UPDATE ` $table_flottes ` SET `effectue` = '1', `contenu_metal` = ' $Cmetal ', `contenu_cristal` = ' $Ccristal ' WHERE `id` = ' $id_flotte ' " );
$chapeau -> query ( " UPDATE ` $table_planete ` SET `debris_met` = ' $debris_met ', `debris_cri` = ' $debris_cri ' WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
2008-11-17 11:00:00 +00:00
$message = 'Vos vaisseaux récoltent ' . $a . ' de métal et ' . $b . ' de cristal aux coordonnées ' . $end_galaxie . ':' . $end_ss . ':' . $end_position ;
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " INSERT INTO ` $table_mail ` VALUES('', '1', ' " . trouvNom ( $queryFlottes [ $i ][ 'id_user' ]) . " ', '', 'Recyclage', ' $message ', ' $temps ') " );
2008-11-17 11:00:00 +00:00
}
}
elseif ( $mission == 5 ) {
2008-11-30 11:00:00 +00:00
$nbsondes = $queryFlottes [ $i ][ 'vaisseau_3' ];
$resultatT = $chapeau -> unique_query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $end_galaxie ' AND `ss` = ' $end_ss ' AND `position` = ' $end_position ' " );
$id_userT = $resultatT [ 'id_user' ];
$id_att = $queryFlottes [ $i ][ 'id_user' ];
$resultatUD = $chapeau -> unique_query ( " SELECT * FROM ` $table_user ` WHERE `id` = ' $id_userT '; " );
$resultatUA = $chapeau -> unique_query ( " SELECT * FROM ` $table_user ` WHERE `id` = ' $id_att '; " );
2008-11-17 11:00:00 +00:00
$diffNiveau = $resultatUA [ 'detection' ] - $resultatUD [ 'detection' ] + floor ( $nbsondes / 2 );
2008-11-30 11:00:00 +00:00
$rapport = new Rapport ( $mission , $id_att , $id_userT , $queryFlottes [ $i ][ 'start_time' ] + $queryFlottes [ $i ][ 'end_time' ]);
2008-11-17 11:00:00 +00:00
if ( $diffNiveau < 0 ) {
$rapport -> addInfo ( $resultatT , 0 );
$rapport -> addInfo ( false , 1 );
}
if ( $diffNiveau >= 0 ) $rapport -> addInfo ( $resultatT , 0 );
if ( $diffNiveau >= 1 ) $rapport -> addInfo ( true , 1 );
if ( $diffNiveau >= 2 ) $rapport -> addInfo ( true , 2 );
if ( $diffNiveau >= 3 ) $rapport -> addInfo ( true , 3 );
if ( $diffNiveau >= 4 ) $rapport -> addInfo ( $resultatUD , 4 );
if ( $diffNiveau >= 5 ) $rapport -> addInfo ( true , 5 );
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " UPDATE ` $table_flottes ` SET `effectue` = '1' WHERE `id` = ' $id_flotte ' " );
2008-11-17 11:00:00 +00:00
$rapport -> send ();
}
}
2008-11-30 11:00:00 +00:00
if ( $queryFlottes [ $i ][ 'nb_vais' ] >= 0 && time () >= $queryFlottes [ $i ][ 'start_time' ] + $queryFlottes [ $i ][ 'end_time' ] * 2 && ! empty ( $queryFlottes [ $i ][ 'end_time' ]) && $queryFlottes [ $i ][ 'mission' ] != 0 && ( $queryFlottes [ $i ][ 'mission' ] != 1 || ( ! empty ( $queryFlottes [ $i ][ 'ret_time' ]) && time () >= $queryFlottes [ $i ][ 'ret_time' ] + $queryFlottes [ $i ][ 'end_time' ]))) {
$start_galaxie = $queryFlottes [ $i ][ 'start_galaxie' ];
$start_ss = $queryFlottes [ $i ][ 'start_ss' ];
$start_position = $queryFlottes [ $i ][ 'start_position' ];
$ret_galaxie = $queryFlottes [ $i ][ 'ret_galaxie' ];
$ret_ss = $queryFlottes [ $i ][ 'ret_ss' ];
$ret_position = $queryFlottes [ $i ][ 'ret_position' ];
$id_flotte = $queryFlottes [ $i ][ 'id' ];
if ( ! empty ( $queryFlottes [ $i ][ 'ret_position' ])) $resultatP = $chapeau -> unique_query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $ret_galaxie ' AND `ss` = ' $ret_ss ' AND `position` = ' $ret_position '; " );
else $resultatP = $chapeau -> unique_query ( " SELECT * FROM ` $table_planete ` WHERE `galaxie` = ' $start_galaxie ' AND `ss` = ' $start_ss ' AND `position` = ' $start_position '; " );
$metal = $queryFlottes [ $i ][ 'contenu_metal' ] + $resultatP [ 'metal' ];
$cristal = $queryFlottes [ $i ][ 'contenu_cristal' ] + $resultatP [ 'cristal' ];
$hydrogene = $queryFlottes [ $i ][ 'contenu_hydrogene' ] + $resultatP [ 'hydrogene' ];
for ( $j = 1 ; $j <= 12 ; $j ++ ) {
$ { 'Pvaisseaux_' . $j } = $resultatP [ 'vaisseau_' . $j ] + $queryFlottes [ $i ][ 'vaisseau_' . $j ];
$chapeau -> query ( " UPDATE ` $table_planete ` SET `vaisseau_ $j ` = ' ${ 'Pvaisseaux_'.$j } ' WHERE `galaxie` = ' $start_galaxie ' AND `ss` = ' $start_ss ' AND `position` = ' $start_position ' " );
2008-11-17 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
$chapeau -> query ( " UPDATE ` $table_planete ` SET `metal` = ' $metal ', `cristal` = ' $cristal ', `hydrogene` = ' $hydrogene ' WHERE `galaxie` = ' $start_galaxie ' AND `ss` = ' $start_ss ' AND `position` = ' $start_position ' " );
$chapeau -> query ( " DELETE FROM ` $table_flottes ` WHERE `id_user` = ' $id_user ' AND `id` = ' $id_flotte ' " );
2008-11-17 11:00:00 +00:00
}
}
2008-11-30 11:00:00 +00:00
$id_user = $sess -> values [ 'id' ];
2008-11-17 11:00:00 +00:00
?>